Merge lp:~phablet-team/messaging-framework/multiple_api_fixes into lp:messaging-framework

Proposed by Tiago Salem Herrmann
Status: Approved
Approved by: Roberto Mier Escandon
Approved revision: 73
Proposed branch: lp:~phablet-team/messaging-framework/multiple_api_fixes
Merge into: lp:messaging-framework
Diff against target: 424 lines (+100/-11)
20 files modified
debian/control.in (+0/-1)
include/messaging/connection.h (+4/-0)
include/messaging/connector.h (+2/-0)
include/messaging/group_manager.h (+3/-0)
include/messaging/plugin_connector.h (+2/-0)
include/messaging/qt/network_monitor.h (+1/-1)
include/messaging/qt/tp/connection.h (+5/-0)
src/messaging/connection.cpp (+5/-0)
src/messaging/plugin_connector.cpp (+5/-0)
src/messaging/qt/network_monitor.cpp (+4/-2)
src/messaging/qt/tp/connection.cpp (+42/-3)
src/messaging/qt/tp/protocol.cpp (+4/-1)
src/messaging/qt/tp/text_channel.cpp (+8/-3)
tests/mock_connection.h (+1/-0)
tests/mock_connector.h (+1/-0)
tests/mock_group_manager.h (+1/-0)
tests/unit/messaging/blocking_connector.cpp (+5/-0)
tests/unit/messaging/blocking_connector.h (+1/-0)
tests/unit/messaging/plugin_connector_test.cpp (+5/-0)
tests/unit/messaging/runner_test.cpp (+1/-0)
To merge this branch: bzr merge lp:~phablet-team/messaging-framework/multiple_api_fixes
Reviewer Review Type Date Requested Status
Gustavo Pichorim Boiko (community) Approve
Roberto Mier Escandon (community) Approve
system-apps-ci-bot continuous-integration Approve
Review via email: mp+313457@code.launchpad.net

Commit message

Allow plugins to disable network monitor and to set self user id.

Description of the change

Allow plugins to disable network monitor and to set self user id.

To post a comment you must log in.
Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

PASSED: Continuous integration, rev:73
https://jenkins.canonical.com/system-apps/job/lp-messaging-framework-ci/108/
Executed test runs:
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build/2201
    SUCCESS: https://jenkins.canonical.com/system-apps/job/test-0-autopkgtest/label=phone-armhf,release=vivid+overlay,testname=default/570
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/2204
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2031
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2031/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2031
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2031/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=zesty/2031
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=zesty/2031/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2031
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2031/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2031
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2031/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=zesty/2031
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=zesty/2031/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/2031
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/2031/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/2031
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/2031/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=zesty/2031
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=zesty/2031/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://jenkins.canonical.com/system-apps/job/lp-messaging-framework-ci/108/rebuild

review: Approve (continuous-integration)
Revision history for this message
Roberto Mier Escandon (rmescandon) wrote :

Lgtm

review: Approve
74. By Renato Araujo Oliveira Filho

Trunk merged.

75. By Renato Araujo Oliveira Filho

Merged: lp:~phablet-team/messaging-framework/prepare_for_release

76. By Tiago Salem Herrmann

Do not test flags if it none

77. By Tiago Salem Herrmann

Only add self handle if it's not present on remote and regular users

78. By Gustavo Pichorim Boiko

Set the self contact as pending remote when creating rooms

79. By Tiago Salem Herrmann

bump clang version

80. By Tiago Salem Herrmann

try remove clang-format as it's not available on zesty

81. By Tiago Salem Herrmann

force unregister objects after disconnection

82. By Tiago Salem Herrmann

Set group self handle

83. By Tiago Salem Herrmann

Add persistent property

84. By Gustavo Pichorim Boiko

merge trunk

Revision history for this message
Gustavo Pichorim Boiko (boiko) wrote :

Looks good!

review: Approve

Unmerged revisions

84. By Gustavo Pichorim Boiko

merge trunk

83. By Tiago Salem Herrmann

Add persistent property

82. By Tiago Salem Herrmann

Set group self handle

81. By Tiago Salem Herrmann

force unregister objects after disconnection

80. By Tiago Salem Herrmann

try remove clang-format as it's not available on zesty

79. By Tiago Salem Herrmann

bump clang version

78. By Gustavo Pichorim Boiko

Set the self contact as pending remote when creating rooms

77. By Tiago Salem Herrmann

Only add self handle if it's not present on remote and regular users

76. By Tiago Salem Herrmann

Do not test flags if it none

75. By Renato Araujo Oliveira Filho

Merged: lp:~phablet-team/messaging-framework/prepare_for_release

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/control.in'
2--- debian/control.in 2016-11-18 23:50:19 +0000
3+++ debian/control.in 2017-03-22 21:19:38 +0000
4@@ -3,7 +3,6 @@
5 Priority: optional
6 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
7 Build-Depends: astyle,
8- clang-format-3.5:native,
9 clang:native,
10 cmake,
11 debhelper (>= 9),
12
13=== modified file 'include/messaging/connection.h'
14--- include/messaging/connection.h 2016-10-21 14:02:19 +0000
15+++ include/messaging/connection.h 2017-03-22 21:19:38 +0000
16@@ -72,6 +72,8 @@
17 /// @param reason The reason why the connection status changed.
18 virtual void on_status_changed(Status status, StatusChangedReason reason) = 0;
19
20+ virtual void on_self_id_changed(const std::string &self_id) = 0;
21+
22 protected:
23 Observer() = default;
24
25@@ -112,6 +114,8 @@
26 /// A note to integrators: It is safe to call this function from any thread.
27 void announce_status_changed(Status status, StatusChangedReason reason);
28
29+ void announce_self_id_changed(const std::string &self_id);
30+
31 private:
32 /// @cond
33 struct Private;
34
35=== modified file 'include/messaging/connector.h'
36--- include/messaging/connector.h 2016-06-07 18:15:24 +0000
37+++ include/messaging/connector.h 2017-03-22 21:19:38 +0000
38@@ -57,6 +57,8 @@
39 const std::shared_ptr<messaging::PresenceManager::Observer>& presence_observer,
40 const messaging::Dictionary<std::string, messaging::Variant>& dict) = 0;
41
42+ virtual bool network_monitor_enabled() = 0;
43+
44 protected:
45 // Only subclasses can instantiate.
46 Connector() = default;
47
48=== modified file 'include/messaging/group_manager.h'
49--- include/messaging/group_manager.h 2016-10-09 16:01:04 +0000
50+++ include/messaging/group_manager.h 2017-03-22 21:19:38 +0000
51@@ -108,6 +108,9 @@
52 /// @brief group_admins returns the list of admin identifiers
53 virtual std::set<std::string> group_admins() = 0;
54
55+ /// @brief check if group is persistent on server side
56+ virtual bool persistent() = 0;
57+
58 /// @brief members returns current participants in the group.
59 virtual Members members() = 0;
60
61
62=== modified file 'include/messaging/plugin_connector.h'
63--- include/messaging/plugin_connector.h 2016-06-07 18:15:24 +0000
64+++ include/messaging/plugin_connector.h 2017-03-22 21:19:38 +0000
65@@ -82,6 +82,8 @@
66 /// @brief stop requests the connector to stop executing.
67 void stop() override;
68
69+ bool network_monitor_enabled() override;
70+
71 std::shared_ptr<Connection> request_connection(const std::shared_ptr<messaging::Connection::Observer>& connection_observer,
72 const std::shared_ptr<messaging::Messenger::Observer>& messenger_observer,
73 const std::shared_ptr<messaging::PresenceManager::Observer>& presence_observer,
74
75=== modified file 'include/messaging/qt/network_monitor.h'
76--- include/messaging/qt/network_monitor.h 2016-07-18 11:42:37 +0000
77+++ include/messaging/qt/network_monitor.h 2017-03-22 21:19:38 +0000
78@@ -42,7 +42,7 @@
79 NetworkPartialOnline,
80 NetworkOnline
81 };
82- NetworkMonitor(const std::weak_ptr<Connection> &connection, QObject *parent=0);
83+ NetworkMonitor(const std::weak_ptr<Connection> &connection, bool network_monitor_enabled = true, QObject *parent=0);
84 virtual ~NetworkMonitor();
85
86 void stop_monitoring();
87
88=== modified file 'include/messaging/qt/tp/connection.h'
89--- include/messaging/qt/tp/connection.h 2016-08-23 22:33:39 +0000
90+++ include/messaging/qt/tp/connection.h 2017-03-22 21:19:38 +0000
91@@ -32,6 +32,8 @@
92
93 #include <memory>
94
95+#include <QMutex>
96+
97 namespace messaging
98 {
99 // A handy fwd declaration
100@@ -91,6 +93,8 @@
101 ///
102 /// Implemented from messaging::Connection::Observer.
103 void on_status_changed(messaging::Connection::Status new_status, messaging::Connection::StatusChangedReason reason) override;
104+
105+ void on_self_id_changed(const std::string &self_id) override;
106
107 /// @brief on_message_without_chat_received called when received a messages that creates a new chat
108 void on_message_without_chat_received(const Recipient::shared_ptr& recipient, const Message &message) override;
109@@ -106,6 +110,7 @@
110 Tp::SharedPtr<Connection> connection; ///< The managed connection instance.
111 };
112
113+ void on_self_id_changed(const std::string &self_id) override;
114 /// @brief on_message_without_chat_received implementation of messaging::Messaging::Observer method
115 void on_message_without_chat_received(const Recipient::shared_ptr& recipient, const Message &message) override;
116
117
118=== modified file 'src/messaging/connection.cpp'
119--- src/messaging/connection.cpp 2016-10-24 10:12:54 +0000
120+++ src/messaging/connection.cpp 2017-03-22 21:19:38 +0000
121@@ -32,3 +32,8 @@
122 {
123 impl->observer->on_status_changed(new_status, reason);
124 }
125+
126+void messaging::Connection::announce_self_id_changed(const std::string &self_id)
127+{
128+ impl->observer->on_self_id_changed(self_id);
129+}
130
131=== modified file 'src/messaging/plugin_connector.cpp'
132--- src/messaging/plugin_connector.cpp 2016-06-07 18:15:24 +0000
133+++ src/messaging/plugin_connector.cpp 2017-03-22 21:19:38 +0000
134@@ -118,3 +118,8 @@
135 {
136 connector->stop();
137 }
138+
139+bool messaging::PluginConnector::network_monitor_enabled()
140+{
141+ connector->network_monitor_enabled();
142+}
143
144=== modified file 'src/messaging/qt/network_monitor.cpp'
145--- src/messaging/qt/network_monitor.cpp 2016-10-25 18:16:46 +0000
146+++ src/messaging/qt/network_monitor.cpp 2017-03-22 21:19:38 +0000
147@@ -8,14 +8,16 @@
148
149 namespace mq = messaging::qt;
150
151-mq::NetworkMonitor::NetworkMonitor(const std::weak_ptr<Connection> &connection, QObject *parent)
152+mq::NetworkMonitor::NetworkMonitor(const std::weak_ptr<Connection> &connection, bool network_monitor_enabled, QObject *parent)
153 : QObject(parent)
154 , network_config_manager_{this}
155 , connection_{connection}
156 , current_ssid_{}
157 , is_connection_ready_{false}
158 {
159- start_monitoring();
160+ if (network_monitor_enabled) {
161+ start_monitoring();
162+ }
163 }
164
165 mq::NetworkMonitor::~NetworkMonitor()
166
167=== modified file 'src/messaging/qt/tp/connection.cpp'
168--- src/messaging/qt/tp/connection.cpp 2016-10-24 10:35:20 +0000
169+++ src/messaging/qt/tp/connection.cpp 2017-03-22 21:19:38 +0000
170@@ -57,6 +57,15 @@
171 {
172 }
173
174+void mqt::tp::Connection::Observer::on_self_id_changed(const std::string &self_id)
175+{
176+ auto sp = shared_from_this();
177+ runtime->enter_with_task([sp, self_id]()
178+ {
179+ sp->connection->on_self_id_changed(self_id);
180+ });
181+}
182+
183 void mqt::tp::Connection::Observer::on_status_changed(messaging::Connection::Status new_status, messaging::Connection::StatusChangedReason reason)
184 {
185 auto sp = shared_from_this();
186@@ -87,10 +96,16 @@
187 void mqt::tp::Connection::Observer::on_new_group_invitation_received(const messaging::Group::shared_ptr& new_group)
188 {
189 auto sp = shared_from_this();
190- runtime->enter_with_task([sp, new_group]()
191+ QMutex mutex;
192+ QWaitCondition wait;
193+
194+ runtime->enter_with_task([sp, new_group, &mutex, &wait]()
195 {
196 sp->connection->on_new_group_invitation_received(new_group);
197+ wait.wakeAll();
198+ mutex.unlock();
199 });
200+ wait.wait(&mutex);
201 }
202
203 Tp::SharedPtr<mqt::tp::Connection> mqt::tp::Connection::create(const std::shared_ptr<msg::Connector>& connector,
204@@ -150,7 +165,7 @@
205 , connector{connector}
206 , observer{std::make_shared<mqt::tp::Connection::Observer>(runtime, Tp::SharedPtr<mqt::tp::Connection>{this})}
207 , connection{connector->request_connection(observer, observer, observer, mqt::VariantMapFacade{parameters})}
208- , network_monitor_{connection}
209+ , network_monitor_{connection, connector->network_monitor_enabled()}
210 {
211 qRegisterMetaType<messaging::Recipient::shared_ptr>();
212
213@@ -256,8 +271,19 @@
214 {
215 LOG(ERROR) << "An exception has been thrown when disconnecting framework connection implementation";
216 }
217+
218+ QTimer::singleShot(250, [=](){
219+ dbusConnection().unregisterObject(objectPath(), QDBusConnection::UnregisterTree);
220+ dbusConnection().unregisterService(busName());
221+
222+ });
223 }
224
225+void mqt::tp::Connection::on_self_id_changed(const std::string &self_id)
226+{
227+ setSelfID(self_id.c_str());
228+}
229+
230 void mqt::tp::Connection::on_message_without_chat_received(const Recipient::shared_ptr& recipient, const messaging::Message &message)
231 {
232 if (recipient->type() != messaging::RecipientType::user) {
233@@ -641,8 +667,13 @@
234 handles_.left.find(target_handle)->second.toLatin1().data());
235 break;
236 case Tp::HandleTypeRoom: {
237+ messaging::Members initial_invitees;
238+ initial_invitees.push_back(std::make_shared<Member>(connection->self_identifier(),
239+ PendingStatus::Remote,
240+ Flags<Role>(Role::Member),
241+ std::string{}/* display_name*/ ));
242 recipient = std::make_shared<messaging::Group>(
243- group_handles_.left.find(target_handle)->second.toLatin1().data());
244+ group_handles_.left.find(target_handle)->second.toLatin1().data(), initial_invitees);
245
246 try
247 {
248@@ -665,6 +696,10 @@
249 additional_properties[Group::SUBJECT] = std::make_shared<messaging::BoostVariant>(group_manager->group_subject());
250 }
251 auto members = group_manager->members();
252+ members.push_back(std::make_shared<Member>(connection->self_identifier(),
253+ PendingStatus::Remote,
254+ Flags<Role>(Role::Member),
255+ std::string{}/* display_name*/ ));
256 recipient = std::make_shared<messaging::Group>(
257 group_manager->group_id(),
258 members,
259@@ -719,6 +754,10 @@
260 is_room ? PendingStatus::Remote : PendingStatus::None,
261 Flags<Role>(Role::Member),
262 std::string{}/* display_name*/ ));
263+ initial_invitees.push_back(std::make_shared<Member>(connection->self_identifier(),
264+ PendingStatus::Remote,
265+ Flags<Role>(Role::Member),
266+ std::string{}/* display_name*/ ));
267 }
268 }
269
270
271=== modified file 'src/messaging/qt/tp/protocol.cpp'
272--- src/messaging/qt/tp/protocol.cpp 2016-05-20 06:21:33 +0000
273+++ src/messaging/qt/tp/protocol.cpp 2017-03-22 21:19:38 +0000
274@@ -43,7 +43,10 @@
275
276 Tp::ConnMgrParamFlags parameter_flags_to_qt_tp(const messaging::Parameter::Flags& flags)
277 {
278- Tp::ConnMgrParamFlags result;
279+ Tp::ConnMgrParamFlags result = 0;
280+ if (flags == messaging::Parameter::Flags::none) {
281+ return result;
282+ }
283
284 if (FlagHelper<messaging::Parameter::Flags>::is_set_in<messaging::Parameter::Flags::required>(flags))
285 {
286
287=== modified file 'src/messaging/qt/tp/text_channel.cpp'
288--- src/messaging/qt/tp/text_channel.cpp 2016-10-19 09:19:08 +0000
289+++ src/messaging/qt/tp/text_channel.cpp 2017-03-22 21:19:38 +0000
290@@ -328,8 +328,7 @@
291 &error)[0];
292 if (error.isValid())
293 {
294- LOG(ERROR) << "Could not get creator handle";
295- return;
296+ LOG(WARNING) << "Could not get creator handle";
297 }
298
299 // NOTE (rmescandon): Build and populate values for Subject interface before than roomConfig one. This is needed for having
300@@ -372,6 +371,7 @@
301 return;
302 }
303
304+ room_config_interface->setPersistent(group_manager->persistent());
305 room_config_interface->setConfigurationRetrieved(true);
306
307 // As telepathy does not offer a way to differentiate whether it can be changed one configuration element
308@@ -386,6 +386,7 @@
309 Tp::ChannelGroupFlagProperties;
310 group_interface = Tp::BaseChannelGroupInterface::create();
311 group_interface->setGroupFlags(groupFlags);
312+ group_interface->setSelfHandle(tp_connection->selfHandle());
313
314 roles_interface = interfaces::BaseChannelRolesInterface::create();
315
316@@ -406,6 +407,7 @@
317 Tp::ChannelGroupFlagProperties;
318 group_interface = Tp::BaseChannelGroupInterface::create();
319 group_interface->setGroupFlags(groupFlags);
320+ group_interface->setSelfHandle(tp_connection->selfHandle());
321
322 // we need to plug this interface here to avoid a crash
323 plug_interface_if_available(group_interface);
324@@ -817,7 +819,10 @@
325
326 // selfHandle will be set as member while the channel is active, so add it to received members. In case we are
327 // expelled or the group is dissolved, let's remove that selfHandle from members
328- handles << tp_connection->selfHandle();
329+ uint selfHandle = tp_connection->selfHandle();
330+ if (!remote_handles.contains(selfHandle) && !handles.contains(selfHandle)) {
331+ handles << tp_connection->selfHandle();
332+ }
333
334 group_interface->setMembers(handles, local_info_list, remote_handles, /* details */ QVariantMap());
335 if (!roles_interface.isNull())
336
337=== modified file 'tests/mock_connection.h'
338--- tests/mock_connection.h 2016-10-21 14:02:19 +0000
339+++ tests/mock_connection.h 2017-03-22 21:19:38 +0000
340@@ -37,6 +37,7 @@
341 struct MockObserver : public messaging::Connection::Observer
342 {
343 MOCK_METHOD2(on_status_changed, void(messaging::Connection::Status, messaging::Connection::StatusChangedReason));
344+ MOCK_METHOD1(on_self_id_changed, void(const std::string&));
345 };
346
347 MockConnection(const std::shared_ptr<messaging::Connection::Observer>& connection_observer,
348
349=== modified file 'tests/mock_connector.h'
350--- tests/mock_connector.h 2016-06-07 18:15:24 +0000
351+++ tests/mock_connector.h 2017-03-22 21:19:38 +0000
352@@ -44,6 +44,7 @@
353 const messaging::Dictionary<std::string, messaging::Variant>&));
354 MOCK_METHOD0(run, void());
355 MOCK_METHOD0(stop, void());
356+ MOCK_METHOD0(network_monitor_enabled, bool());
357
358 private:
359 messaging::StdVectorEnumerator<messaging::Parameter> params_;
360
361=== modified file 'tests/mock_group_manager.h'
362--- tests/mock_group_manager.h 2016-10-09 16:01:04 +0000
363+++ tests/mock_group_manager.h 2017-03-22 21:19:38 +0000
364@@ -40,6 +40,7 @@
365 MOCK_METHOD0(leave_group, void());
366 MOCK_METHOD0(dissolve_group, void());
367 MOCK_METHOD0(join_group, void());
368+ MOCK_METHOD0(persistent, bool());
369 MOCK_METHOD1(change_group_title, void(const std::string&));
370 MOCK_METHOD1(change_group_subject, void(const std::string&));
371 MOCK_METHOD1(add_members, void(const messaging::Members&));
372
373=== modified file 'tests/unit/messaging/blocking_connector.cpp'
374--- tests/unit/messaging/blocking_connector.cpp 2016-06-07 18:15:24 +0000
375+++ tests/unit/messaging/blocking_connector.cpp 2017-03-22 21:19:38 +0000
376@@ -48,3 +48,8 @@
377 stop_requested = true;
378 cv.notify_all();
379 }
380+
381+bool testing::BlockingConnector::network_monitor_enabled()
382+{
383+ return true;
384+}
385
386=== modified file 'tests/unit/messaging/blocking_connector.h'
387--- tests/unit/messaging/blocking_connector.h 2016-06-07 18:15:24 +0000
388+++ tests/unit/messaging/blocking_connector.h 2017-03-22 21:19:38 +0000
389@@ -39,6 +39,7 @@
390 const messaging::Dictionary<std::string, messaging::Variant>&) override;
391 void run() override;
392 void stop() override;
393+ bool network_monitor_enabled() override;
394
395 private:
396 std::mutex m;
397
398=== modified file 'tests/unit/messaging/plugin_connector_test.cpp'
399--- tests/unit/messaging/plugin_connector_test.cpp 2016-06-07 18:15:24 +0000
400+++ tests/unit/messaging/plugin_connector_test.cpp 2017-03-22 21:19:38 +0000
401@@ -51,6 +51,11 @@
402 void stop() override
403 {
404 }
405+
406+ bool network_monitor_enabled() override
407+ {
408+ return true;
409+ }
410 };
411
412 class Creator
413
414=== modified file 'tests/unit/messaging/runner_test.cpp'
415--- tests/unit/messaging/runner_test.cpp 2016-05-27 22:49:16 +0000
416+++ tests/unit/messaging/runner_test.cpp 2017-03-22 21:19:38 +0000
417@@ -73,6 +73,7 @@
418
419 MOCK_METHOD0(run, int());
420 MOCK_METHOD1(stop, void(int));
421+ MOCK_METHOD0(network_manager_enabled, bool());
422 };
423
424 /// @brief the_dummy_runner returns a functor executing a runner with a dummy configuration,

Subscribers

People subscribed via source and target branches

to all changes: