Merge lp:~michihenning/storage-framework/api2 into lp:storage-framework/devel

Proposed by Michi Henning
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
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/destructor code to SetUp()/TearDown().

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/destructor code to SetUp()/TearDown().

To post a comment you must log in.
Revision history for this message
unity-api-1-bot (unity-api-1-bot) wrote :

PASSED: Continuous integration, rev:86
https://jenkins.canonical.com/unity-api-1/job/lp-storage-framework-ci/127/
Executed test runs:
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build/767
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-0-fetch/773
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=amd64,release=vivid+overlay/581
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=amd64,release=vivid+overlay/581/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=amd64,release=xenial+overlay/581
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=amd64,release=xenial+overlay/581/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=amd64,release=yakkety/581
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=amd64,release=yakkety/581/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=armhf,release=vivid+overlay/581
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=armhf,release=vivid+overlay/581/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=armhf,release=xenial+overlay/581
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=armhf,release=xenial+overlay/581/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=armhf,release=yakkety/581
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=armhf,release=yakkety/581/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=i386,release=vivid+overlay/581
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=i386,release=vivid+overlay/581/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=i386,release=xenial+overlay/581
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=i386,release=xenial+overlay/581/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=i386,release=yakkety/581
        deb: https://jenkins.canonical.com/unity-api-1/job/build-2-binpkg/arch=i386,release=yakkety/581/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://jenkins.canonical.com/unity-api-1/job/lp-storage-framework-ci/127/rebuild

review: Approve (continuous-integration)
Revision history for this message
James Henstridge (jamesh) wrote :

Looks good!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
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 friend class internal::ItemImpl;
6 };
7
8+// Note: qHash(Account) does *not* return the same hash value is std::hash<Account> because
9+// std:hash() returns size_t (typically 64 bits), but qHash() returns uint (typically 32 bits).
10 uint Q_DECL_EXPORT qHash(Account const& acc);
11
12 } // namespace qt
13
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 class Q_DECL_EXPORT AccountsJob final : public QObject
19 {
20 Q_OBJECT
21- Q_PROPERTY(bool isValid READ isValid FINAL)
22+ Q_PROPERTY(bool isValid READ isValid NOTIFY statusChanged FINAL)
23 Q_PROPERTY(unity::storage::qt::AccountsJob::Status status READ status NOTIFY statusChanged FINAL)
24- Q_PROPERTY(unity::storage::qt::StorageError error READ error FINAL)
25- Q_PROPERTY(QList<unity::storage::qt::Account> accounts READ accounts FINAL)
26+ Q_PROPERTY(unity::storage::qt::StorageError error READ error NOTIFY statusChanged FINAL)
27+ Q_PROPERTY(QList<unity::storage::qt::Account> accounts READ accounts NOTIFY statusChanged FINAL)
28
29 public:
30 enum Status { Loading, Finished, Error };
31
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-/*
37- * Copyright (C) 2016 Canonical Ltd
38- *
39- * This program is free software: you can redistribute it and/or modify
40- * it under the terms of the GNU Lesser General Public License version 3 as
41- * published by the Free Software Foundation.
42- *
43- * This program is distributed in the hope that it will be useful,
44- * but WITHOUT ANY WARRANTY; without even the implied warranty of
45- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
46- * GNU Lesser General Public License for more details.
47- *
48- * You should have received a copy of the GNU Lesser General Public License
49- * along with this program. If not, see <http://www.gnu.org/licenses/>.
50- *
51- * Authors: Michi Henning <michi.henning@canonical.com>
52- */
53-
54-#pragma once
55-
56-namespace unity
57-{
58-namespace storage
59-{
60-namespace qt
61-{
62-
63-enum class ConflictPolicy { ErrorIfConflict, Overwrite };
64-
65-} // namespace qt
66-} // namespace storage
67-} // namespace unity
68
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 class Q_DECL_EXPORT Downloader final : public QIODevice
74 {
75 Q_OBJECT
76- Q_PROPERTY(bool isValid READ isValid FINAL) // TODO: Need notify and constant where appropriate
77+ Q_PROPERTY(bool isValid READ isValid NOTIFY statusChanged FINAL)
78 Q_PROPERTY(unity::Storage::qt::Downloader::Status status READ status NOTIFY statusChanged FINAL)
79- Q_PROPERTY(unity::Storage::qt::StorageError error READ error FINAL)
80- Q_PROPERTY(unity::Storage::qt::Item item READ item FINAL)
81+ Q_PROPERTY(unity::Storage::qt::StorageError error READ error NOTIFY statusChanged FINAL)
82+ Q_PROPERTY(unity::Storage::qt::Item item READ item NOTIFY statusChanged FINAL)
83
84 public:
85 enum Status { Loading, Ready, Cancelled, Finished, Error };
86
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
92 #pragma once
93
94-#include <unity/storage/qt/ConflictPolicy.h>
95+#include <unity/storage/common.h>
96
97 #pragma GCC diagnostic push
98 #pragma GCC diagnostic ignored "-Wcast-align"
99@@ -70,9 +70,21 @@
100 Item& operator=(Item const&);
101 Item& operator=(Item&&);
102
103- enum Type { File, Folder, Root };
104+ enum Type
105+ {
106+ File = unsigned(unity::storage::ItemType::file),
107+ Folder = unsigned(unity::storage::ItemType::folder),
108+ Root = unsigned(unity::storage::ItemType::root)
109+ };
110 Q_ENUMS(Type)
111
112+ enum ConflictPolicy
113+ {
114+ ErrorIfConflict = unsigned(unity::storage::ConflictPolicy::error_if_conflict),
115+ Overwrite = unsigned(unity::storage::ConflictPolicy::overwrite)
116+ };
117+ Q_ENUMS(ConflictPolicy)
118+
119 bool isValid() const;
120 QString itemId() const;
121 QString name() const;
122@@ -127,6 +139,7 @@
123 Q_DECLARE_METATYPE(unity::storage::qt::Item)
124 Q_DECLARE_METATYPE(QList<unity::storage::qt::Item>)
125 Q_DECLARE_METATYPE(unity::storage::qt::Item::Type)
126+Q_DECLARE_METATYPE(unity::storage::qt::Item::ConflictPolicy)
127
128 namespace std
129 {
130
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 class Q_DECL_EXPORT ItemJob final : public QObject
136 {
137 Q_OBJECT
138- Q_PROPERTY(bool isValid READ isValid FINAL)
139+ Q_PROPERTY(bool isValid READ isValid NOTIFY statusChanged FINAL)
140 Q_PROPERTY(unity::storage::qt::ItemJob::Status status READ status NOTIFY statusChanged FINAL)
141- Q_PROPERTY(unity::storage::qt::StorageError error READ error FINAL)
142- Q_PROPERTY(unity::storage::qt::Item item READ item FINAL)
143+ Q_PROPERTY(unity::storage::qt::StorageError error READ error NOTIFY statusChanged FINAL)
144+ Q_PROPERTY(unity::storage::qt::Item item READ item NOTIFY statusChanged FINAL)
145
146 public:
147 virtual ~ItemJob();
148
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 class Q_DECL_EXPORT ItemListJob final : public QObject
154 {
155 Q_OBJECT
156- Q_PROPERTY(bool isValid READ isValid FINAL)
157+ Q_PROPERTY(bool isValid READ isValid NOTIFY statusChanged FINAL)
158 Q_PROPERTY(unity::storage::qt::ItemListJob::Status status READ status NOTIFY statusChanged FINAL)
159- Q_PROPERTY(unity::storage::qt::StorageError error READ error FINAL)
160+ Q_PROPERTY(unity::storage::qt::StorageError error READ error NOTIFY statusChanged FINAL)
161
162 public:
163 virtual ~ItemListJob();
164
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 {
170 Q_PROPERTY(bool isValid READ isValid FINAL)
171 Q_PROPERTY(unity::storage::StorageError error READ FINAL)
172- Q_PROPERTY(QDBusConnection connection READ connection FINAL)
173+ Q_PROPERTY(QDBusConnection connection READ connection CONSTANT FINAL)
174+
175 public:
176 Runtime(QObject* parent = nullptr);
177 Runtime(QDBusConnection const& bus, QObject* parent = nullptr);
178
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 class Q_DECL_EXPORT Uploader final : public QIODevice
184 {
185 Q_OBJECT
186- Q_PROPERTY(bool isValid READ isValid FINAL) // TODO: Need notify
187- Q_PROPERTY(unity::storage::qt::Uploader::Status status READ status FINAL)
188- Q_PROPERTY(unity::storage::qt::StorageError READ error FINAL)
189- Q_PROPERTY(unity::storage::qt::ConflictPolicy policy READ policy FINAL)
190- Q_PROPERTY(qint64 sizeInBytes READ sizeInBytes FINAL)
191- Q_PROPERTY(unity::storage::qt::Item item READ item FINAL)
192+ Q_PROPERTY(bool isValid READ isValid NOTIFY statusChanged FINAL) // TODO: Need notify
193+ Q_PROPERTY(unity::storage::qt::Uploader::Status status READ status NOTIFY statusChanged FINAL)
194+ Q_PROPERTY(unity::storage::qt::StorageError READ error NOTIFY statusChanged FINAL)
195+ Q_PROPERTY(unity::storage::qt::Item::ConflictPolicy policy READ policy CONSTANT FINAL)
196+ Q_PROPERTY(qint64 sizeInBytes READ sizeInBytes CONSTANT FINAL)
197+ Q_PROPERTY(unity::storage::qt::Item item READ item NOTIFY statusChanged FINAL)
198
199 public:
200 enum Status { Loading, Cancelled, Finished, Error };
201
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 AccountsJob::Status emit_status_changed(AccountsJob::Status new_status) const;
207
208 AccountsJob* const public_instance_;
209-
210 AccountsJob::Status status_;
211 StorageError error_;
212 QList<unity::storage::qt::Account> accounts_;
213
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 ItemJob* copy(Item const& newParent, QString const& newName) const;
219 ItemJob* move(Item const& newParent, QString const& newName) const;
220 VoidJob* deleteItem() const;
221- Uploader* createUploader(ConflictPolicy policy, qint64 sizeInBytes) const;
222+ Uploader* createUploader(Item::ConflictPolicy policy, qint64 sizeInBytes) const;
223 Downloader* createDownloader() const;
224 ItemListJob* list() const;
225 ItemListJob* lookup(QString const& name) const;
226
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 std::function<void(storage::internal::ItemMetadata const&)> const& validate);
232 ItemJobImpl(StorageError const& e);
233
234- ItemJob::Status emit_status_changed(ItemJob::Status new_status) const;
235-
236 ItemJob* public_instance_;
237-
238 ItemJob::Status status_;
239 StorageError error_;
240 QString method_;
241
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 std::function<void(storage::internal::ItemMetadata const&)> const& validate);
247 ItemListJobImpl(StorageError const& error);
248
249- ItemListJob::Status emit_status_changed(ItemListJob::Status new_status) const;
250- void emit_items_ready(QList<unity::storage::qt::Item> const& items) const;
251-
252 ItemListJob* public_instance_;
253-
254 ItemListJob::Status status_;
255 StorageError error_;
256 QString method_;
257
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 return nullptr; // TODO
263 }
264
265-Uploader* ItemImpl::createUploader(ConflictPolicy policy, qint64 sizeInBytes) const
266+Uploader* ItemImpl::createUploader(Item::ConflictPolicy policy, qint64 sizeInBytes) const
267 {
268 return nullptr; // TODO
269 }
270
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 {
276 validate_(metadata);
277 item_ = ItemImpl::make_item(method_, metadata, account_);
278- status_ = emit_status_changed(ItemJob::Finished);
279+ status_ = ItemJob::Finished;
280 }
281 catch (StorageError const& e)
282 {
283 // Bad metadata received from provider, validate_() or make_item() have logged it.
284 error_ = e;
285- status_ = emit_status_changed(ItemJob::Error);
286+ status_ = ItemJob::Error;
287 }
288+ Q_EMIT public_instance_->statusChanged(status_);
289 };
290
291 auto process_error = [this](StorageError const& error)
292 {
293 error_ = error;
294- status_ = emit_status_changed(ItemJob::Error);
295+ status_ = ItemJob::Error;
296+ Q_EMIT public_instance_->statusChanged(status_);
297 };
298
299 new Handler<storage::internal::ItemMetadata>(this, reply, process_reply, process_error);
300 }
301
302 ItemJobImpl::ItemJobImpl(StorageError const& error)
303- : status_(ItemJob::Loading)
304+ : status_(ItemJob::Error)
305 , error_(error)
306 {
307 }
308@@ -115,23 +117,13 @@
309 unique_ptr<ItemJobImpl> impl(new ItemJobImpl(error));
310 auto job = new ItemJob(move(impl));
311 job->p_->public_instance_ = job;
312- job->p_->status_ = job->p_->emit_status_changed(ItemJob::Error);
313+ QMetaObject::invokeMethod(job,
314+ "statusChanged",
315+ Qt::QueuedConnection,
316+ Q_ARG(unity::storage::qt::ItemJob::Status, job->p_->status_));
317 return job;
318 }
319
320-ItemJob::Status ItemJobImpl::emit_status_changed(ItemJob::Status new_status) const
321-{
322- // TODO: should be an assert!
323- if (status_ == ItemJob::Loading) // Once in a final state, we don't emit the signal again.
324- {
325- QMetaObject::invokeMethod(public_instance_,
326- "statusChanged",
327- Qt::QueuedConnection,
328- Q_ARG(unity::storage::qt::ItemJob::Status, new_status));
329- }
330- return new_status;
331-}
332-
333 } // namespace internal
334 } // namespace qt
335 } // namespace storage
336
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 // Bad metadata received from provider, validate_() or make_item() have logged it.
342 }
343 }
344- emit_items_ready(items);
345- status_ = emit_status_changed(ItemListJob::Finished);
346+ status_ = ItemListJob::Finished;
347+ Q_EMIT public_instance_->itemsReady(items);
348+ Q_EMIT public_instance_->statusChanged(status_);
349 };
350
351 auto process_error = [this](StorageError const& error)
352 {
353 error_ = error;
354- status_ = emit_status_changed(ItemListJob::Error);
355+ status_ = ItemListJob::Error;
356+ Q_EMIT public_instance_->statusChanged(status_);
357 };
358
359 new Handler<QList<storage::internal::ItemMetadata>>(this, reply, process_reply, process_error);
360 }
361
362 ItemListJobImpl::ItemListJobImpl(StorageError const& error)
363- : status_(ItemListJob::Loading)
364+ : status_(ItemListJob::Error)
365 , error_(error)
366 {
367 }
368@@ -115,31 +117,11 @@
369 unique_ptr<ItemListJobImpl> impl(new ItemListJobImpl(error));
370 auto job = new ItemListJob(move(impl));
371 job->p_->public_instance_ = job;
372- job->p_->status_ = job->p_->emit_status_changed(ItemListJob::Error);
373- return job;
374-}
375-
376-ItemListJob::Status ItemListJobImpl::emit_status_changed(ItemListJob::Status new_status) const
377-{
378- // TODO: use assert
379- if (status_ == ItemListJob::Loading) // Once in a final state, we don't emit the signal again.
380- {
381- // We defer emission of the signal so the client gets a chance to connect to the signal
382- // in case we emit the signal from the constructor.
383- QMetaObject::invokeMethod(public_instance_,
384- "statusChanged",
385- Qt::QueuedConnection,
386- Q_ARG(unity::storage::qt::ItemListJob::Status, new_status));
387- }
388- return new_status;
389-}
390-
391-void ItemListJobImpl::emit_items_ready(QList<Item> const& items) const
392-{
393- QMetaObject::invokeMethod(public_instance_,
394- "itemsReady",
395+ QMetaObject::invokeMethod(job,
396+ "statusChanged",
397 Qt::QueuedConnection,
398- Q_ARG(QList<unity::storage::qt::Item>, items));
399+ Q_ARG(unity::storage::qt::ItemListJob::Status, job->p_->status_));
400+ return job;
401 }
402
403 } // namespace internal
404
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 {
410 if (is_valid_)
411 {
412- conn_.disconnectFromBus(conn_.name());
413 is_valid_ = false;
414 return StorageError();
415 }
416
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 protected:
422 void SetUp() override
423 {
424+ ProviderFixture::SetUp();
425 client_.reset(new ProviderClient(bus_name(), object_path(), connection()));
426 }
427
428 void TearDown() override
429 {
430 client_.reset();
431+ ProviderFixture::TearDown();
432 }
433
434 std::unique_ptr<ProviderClient> client_;
435
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 protected:
441 void SetUp() override
442 {
443+ ProviderFixture::SetUp();
444 runtime_ = Runtime::create(connection());
445 //acc_ = runtime_->make_test_account(service_connection_->baseService(), impossible_name());
446 acc_ = runtime_->make_test_account(bus_name(), object_path());
447@@ -87,6 +88,7 @@
448
449 void TearDown() override
450 {
451+ ProviderFixture::TearDown();
452 }
453
454 Runtime::SPtr runtime_;
455
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 protected:
461 void SetUp() override
462 {
463+ ProviderFixture::SetUp();
464 runtime_.reset(new Runtime(connection()));
465 acc_ = runtime_->make_test_account(service_connection_->baseService(), object_path());
466 }
467@@ -44,6 +45,7 @@
468 void TearDown() override
469 {
470 runtime_.reset();
471+ ProviderFixture::TearDown();
472 }
473
474 unique_ptr<Runtime> runtime_;
475
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
481 } // namespace
482
483-ProviderFixture::ProviderFixture()
484+void ProviderFixture::SetUp()
485 {
486 dbus_.reset(new DBusEnvironment);
487 dbus_->start_services();
488@@ -43,7 +43,7 @@
489 account_manager_.reset(new OnlineAccounts::Manager("", *service_connection_));
490 }
491
492-ProviderFixture::~ProviderFixture()
493+void ProviderFixture::TearDown()
494 {
495 test_server_.reset();
496 service_connection_.reset();
497
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 class ProviderFixture : public ::testing::Test
503 {
504 public:
505- ProviderFixture();
506- virtual ~ProviderFixture();
507+ virtual void SetUp() override;
508+ virtual void TearDown() override;
509
510 QDBusConnection const& connection() const;
511 void set_provider(std::unique_ptr<unity::storage::provider::ProviderBase>&& provider);

Subscribers

People subscribed via source and target branches

to all changes: