Merge lp:~michihenning/storage-framework/api2 into lp:storage-framework/devel
- api2
- Merge into devel
Status: | Merged |
---|---|
Approved by: | James Henstridge |
Approved revision: | 86 |
Merged at revision: | 71 |
Proposed branch: | lp:~michihenning/storage-framework/api2 |
Merge into: | lp:storage-framework/devel |
Diff against target: |
511 lines (+68/-113) 22 files modified
include/unity/storage/qt/Account.h (+2/-0) include/unity/storage/qt/AccountsJob.h (+3/-3) include/unity/storage/qt/ConflictPolicy.h (+0/-32) include/unity/storage/qt/Downloader.h (+3/-3) include/unity/storage/qt/Item.h (+15/-2) include/unity/storage/qt/ItemJob.h (+3/-3) include/unity/storage/qt/ItemListJob.h (+2/-2) include/unity/storage/qt/Runtime.h (+2/-1) include/unity/storage/qt/Uploader.h (+6/-6) include/unity/storage/qt/internal/AccountsJobImpl.h (+0/-1) include/unity/storage/qt/internal/ItemImpl.h (+1/-1) include/unity/storage/qt/internal/ItemJobImpl.h (+0/-3) include/unity/storage/qt/internal/ItemListJobImpl.h (+0/-4) src/qt/internal/ItemImpl.cpp (+1/-1) src/qt/internal/ItemJobImpl.cpp (+10/-18) src/qt/internal/ItemListJobImpl.cpp (+10/-28) src/qt/internal/RuntimeImpl.cpp (+0/-1) tests/provider-ProviderInterface/ProviderInterface_test.cpp (+2/-0) tests/remote-client-v1/remote-client-v1_test.cpp (+2/-0) tests/remote-client/remote-client_test.cpp (+2/-0) tests/utils/ProviderFixture.cpp (+2/-2) tests/utils/ProviderFixture.h (+2/-2) |
To merge this branch: | bzr merge lp:~michihenning/storage-framework/api2 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
James Henstridge | Approve | ||
unity-api-1-bot | continuous-integration | Approve | |
Review via email: mp+306726@code.launchpad.net |
Commit message
Changed Q_PROPERTY definitions to emit statusChanged where appropriate.
Moved ConflictPolicy definition into Item. Enumerator values are set from common.h.
Got rid of deferred signal emission except where we need to emit signal from constructor.
Removed disconnectFromBus() in RuntimeImpl.
Moved ProviderFixture construct/
Description of the change
Remaining review comment changes:
Changed Q_PROPERTY definitions to emit statusChanged where appropriate.
Moved ConflictPolicy definition into Item. Enumerator values are set from common.h.
Got rid of deferred signal emission except where we need to emit signal from constructor.
Removed disconnectFromBus() in RuntimeImpl.
Moved ProviderFixture construct/
unity-api-1-bot (unity-api-1-bot) wrote : | # |
Preview Diff
1 | === modified file 'include/unity/storage/qt/Account.h' | |||
2 | --- include/unity/storage/qt/Account.h 2016-09-22 01:52:20 +0000 | |||
3 | +++ include/unity/storage/qt/Account.h 2016-09-26 02:44:08 +0000 | |||
4 | @@ -81,6 +81,8 @@ | |||
5 | 81 | friend class internal::ItemImpl; | 81 | friend class internal::ItemImpl; |
6 | 82 | }; | 82 | }; |
7 | 83 | 83 | ||
8 | 84 | // Note: qHash(Account) does *not* return the same hash value is std::hash<Account> because | ||
9 | 85 | // std:hash() returns size_t (typically 64 bits), but qHash() returns uint (typically 32 bits). | ||
10 | 84 | uint Q_DECL_EXPORT qHash(Account const& acc); | 86 | uint Q_DECL_EXPORT qHash(Account const& acc); |
11 | 85 | 87 | ||
12 | 86 | } // namespace qt | 88 | } // namespace qt |
13 | 87 | 89 | ||
14 | === modified file 'include/unity/storage/qt/AccountsJob.h' | |||
15 | --- include/unity/storage/qt/AccountsJob.h 2016-09-20 23:52:45 +0000 | |||
16 | +++ include/unity/storage/qt/AccountsJob.h 2016-09-26 02:44:08 +0000 | |||
17 | @@ -45,10 +45,10 @@ | |||
18 | 45 | class Q_DECL_EXPORT AccountsJob final : public QObject | 45 | class Q_DECL_EXPORT AccountsJob final : public QObject |
19 | 46 | { | 46 | { |
20 | 47 | Q_OBJECT | 47 | Q_OBJECT |
22 | 48 | Q_PROPERTY(bool isValid READ isValid FINAL) | 48 | Q_PROPERTY(bool isValid READ isValid NOTIFY statusChanged FINAL) |
23 | 49 | Q_PROPERTY(unity::storage::qt::AccountsJob::Status status READ status NOTIFY statusChanged FINAL) | 49 | Q_PROPERTY(unity::storage::qt::AccountsJob::Status status READ status NOTIFY statusChanged FINAL) |
26 | 50 | Q_PROPERTY(unity::storage::qt::StorageError error READ error FINAL) | 50 | Q_PROPERTY(unity::storage::qt::StorageError error READ error NOTIFY statusChanged FINAL) |
27 | 51 | Q_PROPERTY(QList<unity::storage::qt::Account> accounts READ accounts FINAL) | 51 | Q_PROPERTY(QList<unity::storage::qt::Account> accounts READ accounts NOTIFY statusChanged FINAL) |
28 | 52 | 52 | ||
29 | 53 | public: | 53 | public: |
30 | 54 | enum Status { Loading, Finished, Error }; | 54 | enum Status { Loading, Finished, Error }; |
31 | 55 | 55 | ||
32 | === removed file 'include/unity/storage/qt/ConflictPolicy.h' | |||
33 | --- include/unity/storage/qt/ConflictPolicy.h 2016-09-05 06:11:16 +0000 | |||
34 | +++ include/unity/storage/qt/ConflictPolicy.h 1970-01-01 00:00:00 +0000 | |||
35 | @@ -1,32 +0,0 @@ | |||
36 | 1 | /* | ||
37 | 2 | * Copyright (C) 2016 Canonical Ltd | ||
38 | 3 | * | ||
39 | 4 | * This program is free software: you can redistribute it and/or modify | ||
40 | 5 | * it under the terms of the GNU Lesser General Public License version 3 as | ||
41 | 6 | * published by the Free Software Foundation. | ||
42 | 7 | * | ||
43 | 8 | * This program is distributed in the hope that it will be useful, | ||
44 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
45 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
46 | 11 | * GNU Lesser General Public License for more details. | ||
47 | 12 | * | ||
48 | 13 | * You should have received a copy of the GNU Lesser General Public License | ||
49 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
50 | 15 | * | ||
51 | 16 | * Authors: Michi Henning <michi.henning@canonical.com> | ||
52 | 17 | */ | ||
53 | 18 | |||
54 | 19 | #pragma once | ||
55 | 20 | |||
56 | 21 | namespace unity | ||
57 | 22 | { | ||
58 | 23 | namespace storage | ||
59 | 24 | { | ||
60 | 25 | namespace qt | ||
61 | 26 | { | ||
62 | 27 | |||
63 | 28 | enum class ConflictPolicy { ErrorIfConflict, Overwrite }; | ||
64 | 29 | |||
65 | 30 | } // namespace qt | ||
66 | 31 | } // namespace storage | ||
67 | 32 | } // namespace unity | ||
68 | 33 | 0 | ||
69 | === modified file 'include/unity/storage/qt/Downloader.h' | |||
70 | --- include/unity/storage/qt/Downloader.h 2016-09-20 23:52:45 +0000 | |||
71 | +++ include/unity/storage/qt/Downloader.h 2016-09-26 02:44:08 +0000 | |||
72 | @@ -33,10 +33,10 @@ | |||
73 | 33 | class Q_DECL_EXPORT Downloader final : public QIODevice | 33 | class Q_DECL_EXPORT Downloader final : public QIODevice |
74 | 34 | { | 34 | { |
75 | 35 | Q_OBJECT | 35 | Q_OBJECT |
77 | 36 | Q_PROPERTY(bool isValid READ isValid FINAL) // TODO: Need notify and constant where appropriate | 36 | Q_PROPERTY(bool isValid READ isValid NOTIFY statusChanged FINAL) |
78 | 37 | Q_PROPERTY(unity::Storage::qt::Downloader::Status status READ status NOTIFY statusChanged FINAL) | 37 | Q_PROPERTY(unity::Storage::qt::Downloader::Status status READ status NOTIFY statusChanged FINAL) |
81 | 38 | Q_PROPERTY(unity::Storage::qt::StorageError error READ error FINAL) | 38 | Q_PROPERTY(unity::Storage::qt::StorageError error READ error NOTIFY statusChanged FINAL) |
82 | 39 | Q_PROPERTY(unity::Storage::qt::Item item READ item FINAL) | 39 | Q_PROPERTY(unity::Storage::qt::Item item READ item NOTIFY statusChanged FINAL) |
83 | 40 | 40 | ||
84 | 41 | public: | 41 | public: |
85 | 42 | enum Status { Loading, Ready, Cancelled, Finished, Error }; | 42 | enum Status { Loading, Ready, Cancelled, Finished, Error }; |
86 | 43 | 43 | ||
87 | === modified file 'include/unity/storage/qt/Item.h' | |||
88 | --- include/unity/storage/qt/Item.h 2016-09-22 01:52:20 +0000 | |||
89 | +++ include/unity/storage/qt/Item.h 2016-09-26 02:44:08 +0000 | |||
90 | @@ -18,7 +18,7 @@ | |||
91 | 18 | 18 | ||
92 | 19 | #pragma once | 19 | #pragma once |
93 | 20 | 20 | ||
95 | 21 | #include <unity/storage/qt/ConflictPolicy.h> | 21 | #include <unity/storage/common.h> |
96 | 22 | 22 | ||
97 | 23 | #pragma GCC diagnostic push | 23 | #pragma GCC diagnostic push |
98 | 24 | #pragma GCC diagnostic ignored "-Wcast-align" | 24 | #pragma GCC diagnostic ignored "-Wcast-align" |
99 | @@ -70,9 +70,21 @@ | |||
100 | 70 | Item& operator=(Item const&); | 70 | Item& operator=(Item const&); |
101 | 71 | Item& operator=(Item&&); | 71 | Item& operator=(Item&&); |
102 | 72 | 72 | ||
104 | 73 | enum Type { File, Folder, Root }; | 73 | enum Type |
105 | 74 | { | ||
106 | 75 | File = unsigned(unity::storage::ItemType::file), | ||
107 | 76 | Folder = unsigned(unity::storage::ItemType::folder), | ||
108 | 77 | Root = unsigned(unity::storage::ItemType::root) | ||
109 | 78 | }; | ||
110 | 74 | Q_ENUMS(Type) | 79 | Q_ENUMS(Type) |
111 | 75 | 80 | ||
112 | 81 | enum ConflictPolicy | ||
113 | 82 | { | ||
114 | 83 | ErrorIfConflict = unsigned(unity::storage::ConflictPolicy::error_if_conflict), | ||
115 | 84 | Overwrite = unsigned(unity::storage::ConflictPolicy::overwrite) | ||
116 | 85 | }; | ||
117 | 86 | Q_ENUMS(ConflictPolicy) | ||
118 | 87 | |||
119 | 76 | bool isValid() const; | 88 | bool isValid() const; |
120 | 77 | QString itemId() const; | 89 | QString itemId() const; |
121 | 78 | QString name() const; | 90 | QString name() const; |
122 | @@ -127,6 +139,7 @@ | |||
123 | 127 | Q_DECLARE_METATYPE(unity::storage::qt::Item) | 139 | Q_DECLARE_METATYPE(unity::storage::qt::Item) |
124 | 128 | Q_DECLARE_METATYPE(QList<unity::storage::qt::Item>) | 140 | Q_DECLARE_METATYPE(QList<unity::storage::qt::Item>) |
125 | 129 | Q_DECLARE_METATYPE(unity::storage::qt::Item::Type) | 141 | Q_DECLARE_METATYPE(unity::storage::qt::Item::Type) |
126 | 142 | Q_DECLARE_METATYPE(unity::storage::qt::Item::ConflictPolicy) | ||
127 | 130 | 143 | ||
128 | 131 | namespace std | 144 | namespace std |
129 | 132 | { | 145 | { |
130 | 133 | 146 | ||
131 | === modified file 'include/unity/storage/qt/ItemJob.h' | |||
132 | --- include/unity/storage/qt/ItemJob.h 2016-09-20 23:52:45 +0000 | |||
133 | +++ include/unity/storage/qt/ItemJob.h 2016-09-26 02:44:08 +0000 | |||
134 | @@ -41,10 +41,10 @@ | |||
135 | 41 | class Q_DECL_EXPORT ItemJob final : public QObject | 41 | class Q_DECL_EXPORT ItemJob final : public QObject |
136 | 42 | { | 42 | { |
137 | 43 | Q_OBJECT | 43 | Q_OBJECT |
139 | 44 | Q_PROPERTY(bool isValid READ isValid FINAL) | 44 | Q_PROPERTY(bool isValid READ isValid NOTIFY statusChanged FINAL) |
140 | 45 | Q_PROPERTY(unity::storage::qt::ItemJob::Status status READ status NOTIFY statusChanged FINAL) | 45 | Q_PROPERTY(unity::storage::qt::ItemJob::Status status READ status NOTIFY statusChanged FINAL) |
143 | 46 | Q_PROPERTY(unity::storage::qt::StorageError error READ error FINAL) | 46 | Q_PROPERTY(unity::storage::qt::StorageError error READ error NOTIFY statusChanged FINAL) |
144 | 47 | Q_PROPERTY(unity::storage::qt::Item item READ item FINAL) | 47 | Q_PROPERTY(unity::storage::qt::Item item READ item NOTIFY statusChanged FINAL) |
145 | 48 | 48 | ||
146 | 49 | public: | 49 | public: |
147 | 50 | virtual ~ItemJob(); | 50 | virtual ~ItemJob(); |
148 | 51 | 51 | ||
149 | === modified file 'include/unity/storage/qt/ItemListJob.h' | |||
150 | --- include/unity/storage/qt/ItemListJob.h 2016-09-21 00:29:49 +0000 | |||
151 | +++ include/unity/storage/qt/ItemListJob.h 2016-09-26 02:44:08 +0000 | |||
152 | @@ -44,9 +44,9 @@ | |||
153 | 44 | class Q_DECL_EXPORT ItemListJob final : public QObject | 44 | class Q_DECL_EXPORT ItemListJob final : public QObject |
154 | 45 | { | 45 | { |
155 | 46 | Q_OBJECT | 46 | Q_OBJECT |
157 | 47 | Q_PROPERTY(bool isValid READ isValid FINAL) | 47 | Q_PROPERTY(bool isValid READ isValid NOTIFY statusChanged FINAL) |
158 | 48 | Q_PROPERTY(unity::storage::qt::ItemListJob::Status status READ status NOTIFY statusChanged FINAL) | 48 | Q_PROPERTY(unity::storage::qt::ItemListJob::Status status READ status NOTIFY statusChanged FINAL) |
160 | 49 | Q_PROPERTY(unity::storage::qt::StorageError error READ error FINAL) | 49 | Q_PROPERTY(unity::storage::qt::StorageError error READ error NOTIFY statusChanged FINAL) |
161 | 50 | 50 | ||
162 | 51 | public: | 51 | public: |
163 | 52 | virtual ~ItemListJob(); | 52 | virtual ~ItemListJob(); |
164 | 53 | 53 | ||
165 | === modified file 'include/unity/storage/qt/Runtime.h' | |||
166 | --- include/unity/storage/qt/Runtime.h 2016-09-22 01:52:20 +0000 | |||
167 | +++ include/unity/storage/qt/Runtime.h 2016-09-26 02:44:08 +0000 | |||
168 | @@ -50,7 +50,8 @@ | |||
169 | 50 | { | 50 | { |
170 | 51 | Q_PROPERTY(bool isValid READ isValid FINAL) | 51 | Q_PROPERTY(bool isValid READ isValid FINAL) |
171 | 52 | Q_PROPERTY(unity::storage::StorageError error READ FINAL) | 52 | Q_PROPERTY(unity::storage::StorageError error READ FINAL) |
173 | 53 | Q_PROPERTY(QDBusConnection connection READ connection FINAL) | 53 | Q_PROPERTY(QDBusConnection connection READ connection CONSTANT FINAL) |
174 | 54 | |||
175 | 54 | public: | 55 | public: |
176 | 55 | Runtime(QObject* parent = nullptr); | 56 | Runtime(QObject* parent = nullptr); |
177 | 56 | Runtime(QDBusConnection const& bus, QObject* parent = nullptr); | 57 | Runtime(QDBusConnection const& bus, QObject* parent = nullptr); |
178 | 57 | 58 | ||
179 | === modified file 'include/unity/storage/qt/Uploader.h' | |||
180 | --- include/unity/storage/qt/Uploader.h 2016-09-20 23:52:45 +0000 | |||
181 | +++ include/unity/storage/qt/Uploader.h 2016-09-26 02:44:08 +0000 | |||
182 | @@ -35,12 +35,12 @@ | |||
183 | 35 | class Q_DECL_EXPORT Uploader final : public QIODevice | 35 | class Q_DECL_EXPORT Uploader final : public QIODevice |
184 | 36 | { | 36 | { |
185 | 37 | Q_OBJECT | 37 | Q_OBJECT |
192 | 38 | Q_PROPERTY(bool isValid READ isValid FINAL) // TODO: Need notify | 38 | Q_PROPERTY(bool isValid READ isValid NOTIFY statusChanged FINAL) // TODO: Need notify |
193 | 39 | Q_PROPERTY(unity::storage::qt::Uploader::Status status READ status FINAL) | 39 | Q_PROPERTY(unity::storage::qt::Uploader::Status status READ status NOTIFY statusChanged FINAL) |
194 | 40 | Q_PROPERTY(unity::storage::qt::StorageError READ error FINAL) | 40 | Q_PROPERTY(unity::storage::qt::StorageError READ error NOTIFY statusChanged FINAL) |
195 | 41 | Q_PROPERTY(unity::storage::qt::ConflictPolicy policy READ policy FINAL) | 41 | Q_PROPERTY(unity::storage::qt::Item::ConflictPolicy policy READ policy CONSTANT FINAL) |
196 | 42 | Q_PROPERTY(qint64 sizeInBytes READ sizeInBytes FINAL) | 42 | Q_PROPERTY(qint64 sizeInBytes READ sizeInBytes CONSTANT FINAL) |
197 | 43 | Q_PROPERTY(unity::storage::qt::Item item READ item FINAL) | 43 | Q_PROPERTY(unity::storage::qt::Item item READ item NOTIFY statusChanged FINAL) |
198 | 44 | 44 | ||
199 | 45 | public: | 45 | public: |
200 | 46 | enum Status { Loading, Cancelled, Finished, Error }; | 46 | enum Status { Loading, Cancelled, Finished, Error }; |
201 | 47 | 47 | ||
202 | === modified file 'include/unity/storage/qt/internal/AccountsJobImpl.h' | |||
203 | --- include/unity/storage/qt/internal/AccountsJobImpl.h 2016-09-16 06:25:08 +0000 | |||
204 | +++ include/unity/storage/qt/internal/AccountsJobImpl.h 2016-09-26 02:44:08 +0000 | |||
205 | @@ -54,7 +54,6 @@ | |||
206 | 54 | AccountsJob::Status emit_status_changed(AccountsJob::Status new_status) const; | 54 | AccountsJob::Status emit_status_changed(AccountsJob::Status new_status) const; |
207 | 55 | 55 | ||
208 | 56 | AccountsJob* const public_instance_; | 56 | AccountsJob* const public_instance_; |
209 | 57 | |||
210 | 58 | AccountsJob::Status status_; | 57 | AccountsJob::Status status_; |
211 | 59 | StorageError error_; | 58 | StorageError error_; |
212 | 60 | QList<unity::storage::qt::Account> accounts_; | 59 | QList<unity::storage::qt::Account> accounts_; |
213 | 61 | 60 | ||
214 | === modified file 'include/unity/storage/qt/internal/ItemImpl.h' | |||
215 | --- include/unity/storage/qt/internal/ItemImpl.h 2016-09-20 23:52:45 +0000 | |||
216 | +++ include/unity/storage/qt/internal/ItemImpl.h 2016-09-26 02:44:08 +0000 | |||
217 | @@ -60,7 +60,7 @@ | |||
218 | 60 | ItemJob* copy(Item const& newParent, QString const& newName) const; | 60 | ItemJob* copy(Item const& newParent, QString const& newName) const; |
219 | 61 | ItemJob* move(Item const& newParent, QString const& newName) const; | 61 | ItemJob* move(Item const& newParent, QString const& newName) const; |
220 | 62 | VoidJob* deleteItem() const; | 62 | VoidJob* deleteItem() const; |
222 | 63 | Uploader* createUploader(ConflictPolicy policy, qint64 sizeInBytes) const; | 63 | Uploader* createUploader(Item::ConflictPolicy policy, qint64 sizeInBytes) const; |
223 | 64 | Downloader* createDownloader() const; | 64 | Downloader* createDownloader() const; |
224 | 65 | ItemListJob* list() const; | 65 | ItemListJob* list() const; |
225 | 66 | ItemListJob* lookup(QString const& name) const; | 66 | ItemListJob* lookup(QString const& name) const; |
226 | 67 | 67 | ||
227 | === modified file 'include/unity/storage/qt/internal/ItemJobImpl.h' | |||
228 | --- include/unity/storage/qt/internal/ItemJobImpl.h 2016-09-20 02:24:36 +0000 | |||
229 | +++ include/unity/storage/qt/internal/ItemJobImpl.h 2016-09-26 02:44:08 +0000 | |||
230 | @@ -66,10 +66,7 @@ | |||
231 | 66 | std::function<void(storage::internal::ItemMetadata const&)> const& validate); | 66 | std::function<void(storage::internal::ItemMetadata const&)> const& validate); |
232 | 67 | ItemJobImpl(StorageError const& e); | 67 | ItemJobImpl(StorageError const& e); |
233 | 68 | 68 | ||
234 | 69 | ItemJob::Status emit_status_changed(ItemJob::Status new_status) const; | ||
235 | 70 | |||
236 | 71 | ItemJob* public_instance_; | 69 | ItemJob* public_instance_; |
237 | 72 | |||
238 | 73 | ItemJob::Status status_; | 70 | ItemJob::Status status_; |
239 | 74 | StorageError error_; | 71 | StorageError error_; |
240 | 75 | QString method_; | 72 | QString method_; |
241 | 76 | 73 | ||
242 | === modified file 'include/unity/storage/qt/internal/ItemListJobImpl.h' | |||
243 | --- include/unity/storage/qt/internal/ItemListJobImpl.h 2016-09-20 02:24:36 +0000 | |||
244 | +++ include/unity/storage/qt/internal/ItemListJobImpl.h 2016-09-26 02:44:08 +0000 | |||
245 | @@ -65,11 +65,7 @@ | |||
246 | 65 | std::function<void(storage::internal::ItemMetadata const&)> const& validate); | 65 | std::function<void(storage::internal::ItemMetadata const&)> const& validate); |
247 | 66 | ItemListJobImpl(StorageError const& error); | 66 | ItemListJobImpl(StorageError const& error); |
248 | 67 | 67 | ||
249 | 68 | ItemListJob::Status emit_status_changed(ItemListJob::Status new_status) const; | ||
250 | 69 | void emit_items_ready(QList<unity::storage::qt::Item> const& items) const; | ||
251 | 70 | |||
252 | 71 | ItemListJob* public_instance_; | 68 | ItemListJob* public_instance_; |
253 | 72 | |||
254 | 73 | ItemListJob::Status status_; | 69 | ItemListJob::Status status_; |
255 | 74 | StorageError error_; | 70 | StorageError error_; |
256 | 75 | QString method_; | 71 | QString method_; |
257 | 76 | 72 | ||
258 | === modified file 'src/qt/internal/ItemImpl.cpp' | |||
259 | --- src/qt/internal/ItemImpl.cpp 2016-09-22 01:52:20 +0000 | |||
260 | +++ src/qt/internal/ItemImpl.cpp 2016-09-26 02:44:08 +0000 | |||
261 | @@ -134,7 +134,7 @@ | |||
262 | 134 | return nullptr; // TODO | 134 | return nullptr; // TODO |
263 | 135 | } | 135 | } |
264 | 136 | 136 | ||
266 | 137 | Uploader* ItemImpl::createUploader(ConflictPolicy policy, qint64 sizeInBytes) const | 137 | Uploader* ItemImpl::createUploader(Item::ConflictPolicy policy, qint64 sizeInBytes) const |
267 | 138 | { | 138 | { |
268 | 139 | return nullptr; // TODO | 139 | return nullptr; // TODO |
269 | 140 | } | 140 | } |
270 | 141 | 141 | ||
271 | === modified file 'src/qt/internal/ItemJobImpl.cpp' | |||
272 | --- src/qt/internal/ItemJobImpl.cpp 2016-09-21 00:29:49 +0000 | |||
273 | +++ src/qt/internal/ItemJobImpl.cpp 2016-09-26 02:44:08 +0000 | |||
274 | @@ -54,27 +54,29 @@ | |||
275 | 54 | { | 54 | { |
276 | 55 | validate_(metadata); | 55 | validate_(metadata); |
277 | 56 | item_ = ItemImpl::make_item(method_, metadata, account_); | 56 | item_ = ItemImpl::make_item(method_, metadata, account_); |
279 | 57 | status_ = emit_status_changed(ItemJob::Finished); | 57 | status_ = ItemJob::Finished; |
280 | 58 | } | 58 | } |
281 | 59 | catch (StorageError const& e) | 59 | catch (StorageError const& e) |
282 | 60 | { | 60 | { |
283 | 61 | // Bad metadata received from provider, validate_() or make_item() have logged it. | 61 | // Bad metadata received from provider, validate_() or make_item() have logged it. |
284 | 62 | error_ = e; | 62 | error_ = e; |
286 | 63 | status_ = emit_status_changed(ItemJob::Error); | 63 | status_ = ItemJob::Error; |
287 | 64 | } | 64 | } |
288 | 65 | Q_EMIT public_instance_->statusChanged(status_); | ||
289 | 65 | }; | 66 | }; |
290 | 66 | 67 | ||
291 | 67 | auto process_error = [this](StorageError const& error) | 68 | auto process_error = [this](StorageError const& error) |
292 | 68 | { | 69 | { |
293 | 69 | error_ = error; | 70 | error_ = error; |
295 | 70 | status_ = emit_status_changed(ItemJob::Error); | 71 | status_ = ItemJob::Error; |
296 | 72 | Q_EMIT public_instance_->statusChanged(status_); | ||
297 | 71 | }; | 73 | }; |
298 | 72 | 74 | ||
299 | 73 | new Handler<storage::internal::ItemMetadata>(this, reply, process_reply, process_error); | 75 | new Handler<storage::internal::ItemMetadata>(this, reply, process_reply, process_error); |
300 | 74 | } | 76 | } |
301 | 75 | 77 | ||
302 | 76 | ItemJobImpl::ItemJobImpl(StorageError const& error) | 78 | ItemJobImpl::ItemJobImpl(StorageError const& error) |
304 | 77 | : status_(ItemJob::Loading) | 79 | : status_(ItemJob::Error) |
305 | 78 | , error_(error) | 80 | , error_(error) |
306 | 79 | { | 81 | { |
307 | 80 | } | 82 | } |
308 | @@ -115,23 +117,13 @@ | |||
309 | 115 | unique_ptr<ItemJobImpl> impl(new ItemJobImpl(error)); | 117 | unique_ptr<ItemJobImpl> impl(new ItemJobImpl(error)); |
310 | 116 | auto job = new ItemJob(move(impl)); | 118 | auto job = new ItemJob(move(impl)); |
311 | 117 | job->p_->public_instance_ = job; | 119 | job->p_->public_instance_ = job; |
313 | 118 | job->p_->status_ = job->p_->emit_status_changed(ItemJob::Error); | 120 | QMetaObject::invokeMethod(job, |
314 | 121 | "statusChanged", | ||
315 | 122 | Qt::QueuedConnection, | ||
316 | 123 | Q_ARG(unity::storage::qt::ItemJob::Status, job->p_->status_)); | ||
317 | 119 | return job; | 124 | return job; |
318 | 120 | } | 125 | } |
319 | 121 | 126 | ||
320 | 122 | ItemJob::Status ItemJobImpl::emit_status_changed(ItemJob::Status new_status) const | ||
321 | 123 | { | ||
322 | 124 | // TODO: should be an assert! | ||
323 | 125 | if (status_ == ItemJob::Loading) // Once in a final state, we don't emit the signal again. | ||
324 | 126 | { | ||
325 | 127 | QMetaObject::invokeMethod(public_instance_, | ||
326 | 128 | "statusChanged", | ||
327 | 129 | Qt::QueuedConnection, | ||
328 | 130 | Q_ARG(unity::storage::qt::ItemJob::Status, new_status)); | ||
329 | 131 | } | ||
330 | 132 | return new_status; | ||
331 | 133 | } | ||
332 | 134 | |||
333 | 135 | } // namespace internal | 127 | } // namespace internal |
334 | 136 | } // namespace qt | 128 | } // namespace qt |
335 | 137 | } // namespace storage | 129 | } // namespace storage |
336 | 138 | 130 | ||
337 | === modified file 'src/qt/internal/ItemListJobImpl.cpp' | |||
338 | --- src/qt/internal/ItemListJobImpl.cpp 2016-09-21 00:29:49 +0000 | |||
339 | +++ src/qt/internal/ItemListJobImpl.cpp 2016-09-26 02:44:08 +0000 | |||
340 | @@ -64,21 +64,23 @@ | |||
341 | 64 | // Bad metadata received from provider, validate_() or make_item() have logged it. | 64 | // Bad metadata received from provider, validate_() or make_item() have logged it. |
342 | 65 | } | 65 | } |
343 | 66 | } | 66 | } |
346 | 67 | emit_items_ready(items); | 67 | status_ = ItemListJob::Finished; |
347 | 68 | status_ = emit_status_changed(ItemListJob::Finished); | 68 | Q_EMIT public_instance_->itemsReady(items); |
348 | 69 | Q_EMIT public_instance_->statusChanged(status_); | ||
349 | 69 | }; | 70 | }; |
350 | 70 | 71 | ||
351 | 71 | auto process_error = [this](StorageError const& error) | 72 | auto process_error = [this](StorageError const& error) |
352 | 72 | { | 73 | { |
353 | 73 | error_ = error; | 74 | error_ = error; |
355 | 74 | status_ = emit_status_changed(ItemListJob::Error); | 75 | status_ = ItemListJob::Error; |
356 | 76 | Q_EMIT public_instance_->statusChanged(status_); | ||
357 | 75 | }; | 77 | }; |
358 | 76 | 78 | ||
359 | 77 | new Handler<QList<storage::internal::ItemMetadata>>(this, reply, process_reply, process_error); | 79 | new Handler<QList<storage::internal::ItemMetadata>>(this, reply, process_reply, process_error); |
360 | 78 | } | 80 | } |
361 | 79 | 81 | ||
362 | 80 | ItemListJobImpl::ItemListJobImpl(StorageError const& error) | 82 | ItemListJobImpl::ItemListJobImpl(StorageError const& error) |
364 | 81 | : status_(ItemListJob::Loading) | 83 | : status_(ItemListJob::Error) |
365 | 82 | , error_(error) | 84 | , error_(error) |
366 | 83 | { | 85 | { |
367 | 84 | } | 86 | } |
368 | @@ -115,31 +117,11 @@ | |||
369 | 115 | unique_ptr<ItemListJobImpl> impl(new ItemListJobImpl(error)); | 117 | unique_ptr<ItemListJobImpl> impl(new ItemListJobImpl(error)); |
370 | 116 | auto job = new ItemListJob(move(impl)); | 118 | auto job = new ItemListJob(move(impl)); |
371 | 117 | job->p_->public_instance_ = job; | 119 | job->p_->public_instance_ = job; |
395 | 118 | job->p_->status_ = job->p_->emit_status_changed(ItemListJob::Error); | 120 | QMetaObject::invokeMethod(job, |
396 | 119 | return job; | 121 | "statusChanged", |
374 | 120 | } | ||
375 | 121 | |||
376 | 122 | ItemListJob::Status ItemListJobImpl::emit_status_changed(ItemListJob::Status new_status) const | ||
377 | 123 | { | ||
378 | 124 | // TODO: use assert | ||
379 | 125 | if (status_ == ItemListJob::Loading) // Once in a final state, we don't emit the signal again. | ||
380 | 126 | { | ||
381 | 127 | // We defer emission of the signal so the client gets a chance to connect to the signal | ||
382 | 128 | // in case we emit the signal from the constructor. | ||
383 | 129 | QMetaObject::invokeMethod(public_instance_, | ||
384 | 130 | "statusChanged", | ||
385 | 131 | Qt::QueuedConnection, | ||
386 | 132 | Q_ARG(unity::storage::qt::ItemListJob::Status, new_status)); | ||
387 | 133 | } | ||
388 | 134 | return new_status; | ||
389 | 135 | } | ||
390 | 136 | |||
391 | 137 | void ItemListJobImpl::emit_items_ready(QList<Item> const& items) const | ||
392 | 138 | { | ||
393 | 139 | QMetaObject::invokeMethod(public_instance_, | ||
394 | 140 | "itemsReady", | ||
397 | 141 | Qt::QueuedConnection, | 122 | Qt::QueuedConnection, |
399 | 142 | Q_ARG(QList<unity::storage::qt::Item>, items)); | 123 | Q_ARG(unity::storage::qt::ItemListJob::Status, job->p_->status_)); |
400 | 124 | return job; | ||
401 | 143 | } | 125 | } |
402 | 144 | 126 | ||
403 | 145 | } // namespace internal | 127 | } // namespace internal |
404 | 146 | 128 | ||
405 | === modified file 'src/qt/internal/RuntimeImpl.cpp' | |||
406 | --- src/qt/internal/RuntimeImpl.cpp 2016-09-22 01:52:20 +0000 | |||
407 | +++ src/qt/internal/RuntimeImpl.cpp 2016-09-26 02:44:08 +0000 | |||
408 | @@ -105,7 +105,6 @@ | |||
409 | 105 | { | 105 | { |
410 | 106 | if (is_valid_) | 106 | if (is_valid_) |
411 | 107 | { | 107 | { |
412 | 108 | conn_.disconnectFromBus(conn_.name()); | ||
413 | 109 | is_valid_ = false; | 108 | is_valid_ = false; |
414 | 110 | return StorageError(); | 109 | return StorageError(); |
415 | 111 | } | 110 | } |
416 | 112 | 111 | ||
417 | === modified file 'tests/provider-ProviderInterface/ProviderInterface_test.cpp' | |||
418 | --- tests/provider-ProviderInterface/ProviderInterface_test.cpp 2016-09-05 06:47:09 +0000 | |||
419 | +++ tests/provider-ProviderInterface/ProviderInterface_test.cpp 2016-09-26 02:44:08 +0000 | |||
420 | @@ -68,12 +68,14 @@ | |||
421 | 68 | protected: | 68 | protected: |
422 | 69 | void SetUp() override | 69 | void SetUp() override |
423 | 70 | { | 70 | { |
424 | 71 | ProviderFixture::SetUp(); | ||
425 | 71 | client_.reset(new ProviderClient(bus_name(), object_path(), connection())); | 72 | client_.reset(new ProviderClient(bus_name(), object_path(), connection())); |
426 | 72 | } | 73 | } |
427 | 73 | 74 | ||
428 | 74 | void TearDown() override | 75 | void TearDown() override |
429 | 75 | { | 76 | { |
430 | 76 | client_.reset(); | 77 | client_.reset(); |
431 | 78 | ProviderFixture::TearDown(); | ||
432 | 77 | } | 79 | } |
433 | 78 | 80 | ||
434 | 79 | std::unique_ptr<ProviderClient> client_; | 81 | std::unique_ptr<ProviderClient> client_; |
435 | 80 | 82 | ||
436 | === modified file 'tests/remote-client-v1/remote-client-v1_test.cpp' | |||
437 | --- tests/remote-client-v1/remote-client-v1_test.cpp 2016-09-20 06:58:05 +0000 | |||
438 | +++ tests/remote-client-v1/remote-client-v1_test.cpp 2016-09-26 02:44:08 +0000 | |||
439 | @@ -80,6 +80,7 @@ | |||
440 | 80 | protected: | 80 | protected: |
441 | 81 | void SetUp() override | 81 | void SetUp() override |
442 | 82 | { | 82 | { |
443 | 83 | ProviderFixture::SetUp(); | ||
444 | 83 | runtime_ = Runtime::create(connection()); | 84 | runtime_ = Runtime::create(connection()); |
445 | 84 | //acc_ = runtime_->make_test_account(service_connection_->baseService(), impossible_name()); | 85 | //acc_ = runtime_->make_test_account(service_connection_->baseService(), impossible_name()); |
446 | 85 | acc_ = runtime_->make_test_account(bus_name(), object_path()); | 86 | acc_ = runtime_->make_test_account(bus_name(), object_path()); |
447 | @@ -87,6 +88,7 @@ | |||
448 | 87 | 88 | ||
449 | 88 | void TearDown() override | 89 | void TearDown() override |
450 | 89 | { | 90 | { |
451 | 91 | ProviderFixture::TearDown(); | ||
452 | 90 | } | 92 | } |
453 | 91 | 93 | ||
454 | 92 | Runtime::SPtr runtime_; | 94 | Runtime::SPtr runtime_; |
455 | 93 | 95 | ||
456 | === modified file 'tests/remote-client/remote-client_test.cpp' | |||
457 | --- tests/remote-client/remote-client_test.cpp 2016-09-20 23:52:45 +0000 | |||
458 | +++ tests/remote-client/remote-client_test.cpp 2016-09-26 02:44:08 +0000 | |||
459 | @@ -37,6 +37,7 @@ | |||
460 | 37 | protected: | 37 | protected: |
461 | 38 | void SetUp() override | 38 | void SetUp() override |
462 | 39 | { | 39 | { |
463 | 40 | ProviderFixture::SetUp(); | ||
464 | 40 | runtime_.reset(new Runtime(connection())); | 41 | runtime_.reset(new Runtime(connection())); |
465 | 41 | acc_ = runtime_->make_test_account(service_connection_->baseService(), object_path()); | 42 | acc_ = runtime_->make_test_account(service_connection_->baseService(), object_path()); |
466 | 42 | } | 43 | } |
467 | @@ -44,6 +45,7 @@ | |||
468 | 44 | void TearDown() override | 45 | void TearDown() override |
469 | 45 | { | 46 | { |
470 | 46 | runtime_.reset(); | 47 | runtime_.reset(); |
471 | 48 | ProviderFixture::TearDown(); | ||
472 | 47 | } | 49 | } |
473 | 48 | 50 | ||
474 | 49 | unique_ptr<Runtime> runtime_; | 51 | unique_ptr<Runtime> runtime_; |
475 | 50 | 52 | ||
476 | === modified file 'tests/utils/ProviderFixture.cpp' | |||
477 | --- tests/utils/ProviderFixture.cpp 2016-09-20 06:58:05 +0000 | |||
478 | +++ tests/utils/ProviderFixture.cpp 2016-09-26 02:44:08 +0000 | |||
479 | @@ -33,7 +33,7 @@ | |||
480 | 33 | 33 | ||
481 | 34 | } // namespace | 34 | } // namespace |
482 | 35 | 35 | ||
484 | 36 | ProviderFixture::ProviderFixture() | 36 | void ProviderFixture::SetUp() |
485 | 37 | { | 37 | { |
486 | 38 | dbus_.reset(new DBusEnvironment); | 38 | dbus_.reset(new DBusEnvironment); |
487 | 39 | dbus_->start_services(); | 39 | dbus_->start_services(); |
488 | @@ -43,7 +43,7 @@ | |||
489 | 43 | account_manager_.reset(new OnlineAccounts::Manager("", *service_connection_)); | 43 | account_manager_.reset(new OnlineAccounts::Manager("", *service_connection_)); |
490 | 44 | } | 44 | } |
491 | 45 | 45 | ||
493 | 46 | ProviderFixture::~ProviderFixture() | 46 | void ProviderFixture::TearDown() |
494 | 47 | { | 47 | { |
495 | 48 | test_server_.reset(); | 48 | test_server_.reset(); |
496 | 49 | service_connection_.reset(); | 49 | service_connection_.reset(); |
497 | 50 | 50 | ||
498 | === modified file 'tests/utils/ProviderFixture.h' | |||
499 | --- tests/utils/ProviderFixture.h 2016-09-20 06:58:05 +0000 | |||
500 | +++ tests/utils/ProviderFixture.h 2016-09-26 02:44:08 +0000 | |||
501 | @@ -33,8 +33,8 @@ | |||
502 | 33 | class ProviderFixture : public ::testing::Test | 33 | class ProviderFixture : public ::testing::Test |
503 | 34 | { | 34 | { |
504 | 35 | public: | 35 | public: |
507 | 36 | ProviderFixture(); | 36 | virtual void SetUp() override; |
508 | 37 | virtual ~ProviderFixture(); | 37 | virtual void TearDown() override; |
509 | 38 | 38 | ||
510 | 39 | QDBusConnection const& connection() const; | 39 | QDBusConnection const& connection() const; |
511 | 40 | void set_provider(std::unique_ptr<unity::storage::provider::ProviderBase>&& provider); | 40 | void set_provider(std::unique_ptr<unity::storage::provider::ProviderBase>&& provider); |
PASSED: Continuous integration, rev:86 /jenkins. canonical. com/unity- api-1/job/ lp-storage- framework- ci/127/ /jenkins. canonical. com/unity- api-1/job/ build/767 /jenkins. canonical. com/unity- api-1/job/ build-0- fetch/773 /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 581 /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 581/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 581 /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 581/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=amd64, release= yakkety/ 581 /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=amd64, release= yakkety/ 581/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 581 /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 581/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 581 /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 581/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=armhf, release= yakkety/ 581 /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=armhf, release= yakkety/ 581/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 581 /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 581/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 581 /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 581/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=i386, release= yakkety/ 581 /jenkins. canonical. com/unity- api-1/job/ build-2- binpkg/ arch=i386, release= yakkety/ 581/artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /jenkins. canonical. com/unity- api-1/job/ lp-storage- framework- ci/127/ rebuild
https:/