CAPI: Disable comp-manager in companion-deinitialize()
authorSaurav Babu <saurav.babu@samsung.com>
Thu, 18 Jan 2018 07:22:23 +0000 (12:52 +0530)
committersaerome.kim <saerome.kim@samsung.com>
Mon, 2 Jul 2018 10:38:44 +0000 (19:38 +0900)
Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
capi/src/companion.c

index 0682cecd2216b2449431c1ce0c93a5b2f037432a..41ed89b02e8e06c46a570166e6b6c5a948adff25 100644 (file)
@@ -13,8 +13,10 @@ static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
 
 #define COMP_DBUS_SERVICE "org.tizen.companion"
 #define COMP_DBUS_GROUP_PATH "/org/tizen/companion/group"
+#define COMP_DBUS_ENABLER_PATH "/org/tizen/companion/enabler"
 
 Group *group_proxy = NULL;
+Enabler *enabler_proxy = NULL;
 
 int ref_count = 0;
 bool __is_initialized = false;
@@ -238,20 +240,41 @@ static void _group_proxy_init(void)
        g_signal_connect(group_proxy, "send-data-finish", G_CALLBACK(__send_data_finish_cb), NULL);
 }
 
+static void _enabler_proxy_init(void)
+{
+       GError *error = NULL;
+
+       enabler_proxy = enabler_proxy_new_for_bus_sync(G_BUS_TYPE_SYSTEM,
+                                                  G_DBUS_PROXY_FLAGS_NONE, COMP_DBUS_SERVICE,
+                                                  COMP_DBUS_ENABLER_PATH, NULL, &error);
+}
+
 static void _group_proxy_deinit(void)
 {
        group_proxy = NULL;
 }
 
+static void _enabler_proxy_deinit(void)
+{
+       int ret;
+
+       enabler_call_disable_sync(enabler_proxy, &ret, NULL, NULL);
+       enabler_proxy = NULL;
+}
+
 static int _gdbus_initialize(void)
 {
        int ret = 0;
 
        _group_proxy_init();
+       _enabler_proxy_init();
 
        if (group_proxy == NULL)
                ret = -1; /* LCOV_EXCL_LINE */
 
+       if (enabler_proxy == NULL)
+               ret = -1; /* LCOV_EXCL_LINE */
+
        return ret;
 }
 
@@ -260,6 +283,7 @@ static int _gdbus_deinitialize(void)
        int ret = 0;
 
        _group_proxy_deinit();
+       _enabler_proxy_deinit();
 
        return ret;
 }