}
bool RequestBroker::Subscribe() {
+ if (subscribe_id_ > 0)
+ return true;
subscribe_id_ = g_dbus_connection_signal_subscribe(connection_, nullptr,
kDbusInterfaceName, nullptr, kDbusObjectPath, nullptr,
G_DBUS_SIGNAL_FLAGS_NONE,
return subscribe_id_ > 0;
}
+void RequestBroker::Unsubscribe() {
+ if (!subscribe_id_)
+ return;
+
+ g_dbus_connection_signal_unsubscribe(connection_, subscribe_id_);
+ subscribe_id_ = 0;
+}
+
tizen_base::Bundle RequestBroker::SendData(Command cmd,
tizen_base::Bundle& data) {
GError* err = nullptr;
Command cmd, tizen_base::Bundle data);
bool Listen();
bool Subscribe();
+ void Unsubscribe();
tizen_base::Bundle SendData(Command cmd, tizen_base::Bundle&);
void SendDataAsync(Command cmd, tizen_base::Bundle&);
g_dbus_connection_signal_subscribe(_, _, _, _, _, _, _, _, _, _)).
WillOnce(Invoke(__g_dbus_connection_signal_subscribe_fake));
EXPECT_EQ(broker_.Subscribe(), true);
+ broker_.Unsubscribe();
}
TEST_F(RequestBrokerTest, SendData_N1) {