From: Jiwan Kim Date: Thu, 16 Feb 2017 04:19:03 +0000 (+0900) Subject: Change bus name with enable/disable method X-Git-Tag: submit/tizen/20170512.045637~32 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7f3cb3c5a4adeb7d542d5b63f38869c2823aec70;p=platform%2Fcore%2Fapi%2Fzigbee.git Change bus name with enable/disable method - Currently, zb_create() registers dbus signal but it makes daemon activated. - Change only 'enable' method can execute daemon. Change-Id: I23cd597407fc04141ab17b34ce575e041f08a84b Signed-off-by: Jiwan Kim --- diff --git a/lib/zbl-dbus.c b/lib/zbl-dbus.c index 4baa43b..bf9e72f 100644 --- a/lib/zbl-dbus.c +++ b/lib/zbl-dbus.c @@ -35,7 +35,6 @@ static int zbl_ref_count; static GDBusConnection *gdbus_conn = NULL; -static GDBusProxy *manager_gproxy = NULL; static GDBusProxy *service_gproxy = NULL; static GDBusProxy *on_off_gproxy = NULL; static GDBusProxy *door_lock_gproxy = NULL; @@ -139,21 +138,6 @@ typedef struct { #define ZCL_REPORTING_DIRECTION_REPORTED 0x00 #define ZCL_REPORTING_DIRECTION_RECEIVED 0x01 -static GDBusProxy *_zbl_get_manager_proxy(void) -{ - GDBusProxy *proxy = NULL; - RETVM_IF(NULL == gdbus_conn, NULL, "Connection Object is invalid"); - - if (NULL == manager_gproxy) { - proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL, - ZIGBEE_SERVER_NAME, ZIGBEE_DBUS_OBJPATH, ZIGBEE_MANAGER_INTERFACE, - NULL, NULL); - } else - proxy = manager_gproxy; - - return proxy; -} - static GDBusProxy *_zbl_get_service_proxy(void) { GDBusProxy *proxy = NULL; @@ -2981,7 +2965,6 @@ int zbl_enable(zigbee_h handle, zb_enable_cb cb, void *user_data) zbl_req_cb_s *container; RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR); - RETV_IF(NULL == service_gproxy, ZIGBEE_ERROR_IO_ERROR); RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER); DBG("zbl_enable()"); @@ -2989,7 +2972,7 @@ int zbl_enable(zigbee_h handle, zb_enable_cb cb, void *user_data) container = calloc(1, sizeof(zbl_req_cb_s)); RETVM_IF(NULL == container, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno); - to = zbl_dbus_get_timeout(manager_gproxy); + to = ZIGBEE_BROADCAST_TIMEOUT; sub_id = g_dbus_connection_signal_subscribe(gdbus_conn, NULL, ZIGBEE_MANAGER_INTERFACE, "zigbee_state", ZIGBEE_DBUS_OBJPATH, NULL, G_DBUS_SIGNAL_FLAGS_NONE, @@ -3006,9 +2989,15 @@ int zbl_enable(zigbee_h handle, zb_enable_cb cb, void *user_data) container->tid = g_timeout_add_seconds(to, _zbl_timeout_enable, container); container->userdata = user_data; - g_dbus_proxy_call(manager_gproxy, "enable", NULL, - G_DBUS_CALL_FLAGS_NONE, to, - NULL, NULL, container); + g_dbus_connection_call(gdbus_conn, + ZIGBEE_MANAGER_INTERFACE, + ZIGBEE_DBUS_OBJPATH, + ZIGBEE_MANAGER_INTERFACE, + "enable", + NULL, NULL, + G_DBUS_CALL_FLAGS_NONE, + to, NULL, + NULL, NULL); return ZIGBEE_ERROR_NONE; } @@ -3020,12 +3009,17 @@ int zbl_disable(void) GError *dbus_err = NULL; RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR); - RETV_IF(NULL == manager_gproxy, ZIGBEE_ERROR_IO_ERROR); DBG("zbl_disable()"); - variant = g_dbus_proxy_call_sync(manager_gproxy, "disable", NULL, - G_DBUS_CALL_FLAGS_NONE, -1, NULL, &dbus_err); + variant = g_dbus_connection_call_sync(gdbus_conn, + ZIGBEE_SERVER_NAME, + ZIGBEE_DBUS_OBJPATH, + ZIGBEE_MANAGER_INTERFACE, + "disable", + NULL, NULL, + G_DBUS_CALL_FLAGS_NONE, + -1, NULL, &dbus_err); if (!variant) { ERR("Failed to get 'disable' [%s]", dbus_err->message); @@ -7779,10 +7773,6 @@ int zbl_dbus_start(zigbee_h handle) _zbl_dbus_subscribe_signal(handle); /* Phase 2. Make proxies */ - manager_gproxy = _zbl_get_manager_proxy(); - RETVM_IF(NULL == manager_gproxy, ZIGBEE_ERROR_IO_ERROR, "Couldn't get manager_gproxy"); - g_dbus_proxy_set_default_timeout(G_DBUS_PROXY(manager_gproxy), ZIGBEE_BROADCAST_TIMEOUT); - service_gproxy = _zbl_get_service_proxy(); RETVM_IF(NULL == service_gproxy, ZIGBEE_ERROR_IO_ERROR, "Couldn't get service_gproxy"); g_dbus_proxy_set_default_timeout(G_DBUS_PROXY(service_gproxy), ZIGBEE_BROADCAST_TIMEOUT); @@ -7883,8 +7873,6 @@ void zbl_dbus_stop(zigbee_h handle) _zbl_dbus_unsubscribe_signal(handle->dbus_sub_ids); handle->dbus_sub_ids = NULL; - g_object_unref(manager_gproxy); - manager_gproxy = NULL; g_object_unref(service_gproxy); service_gproxy = NULL; g_object_unref(on_off_gproxy); diff --git a/test/main.c b/test/main.c index 09e652a..4ab5503 100644 --- a/test/main.c +++ b/test/main.c @@ -491,24 +491,25 @@ static int run_destroy(MManager *mm, struct menu_data *menu) static int run_enable(MManager *mm, struct menu_data *menu) { - /* Register event callback */ int ret = ZIGBEE_ERROR_NONE; - ret = zb_enable(handle, zigbee_enable_cb, NULL); + /* Set event callback */ + ret = zb_set_event_cb(handle, zigbee_event_cb); if (ZIGBEE_ERROR_NONE != ret) { - msg("zb_enable(0x%X) - FAILED!!!", ret); + msg("zb_set_event_cb(0x%X) - FAILED!!!", ret); return RET_FAILURE; } - msg(" - zb_enable() ret: [0x%X]", ret); + msg(" - zb_set_event_cb() ret: [0x%X]", ret); - ret = zb_set_event_cb(handle, zigbee_event_cb); + /* Enable */ + ret = zb_enable(handle, zigbee_enable_cb, NULL); if (ZIGBEE_ERROR_NONE != ret) { - msg("zb_set_event_cb(0x%X) - FAILED!!!", ret); + msg("zb_enable(0x%X) - FAILED!!!", ret); return RET_FAILURE; } - msg(" - zb_set_event_cb() ret: [0x%X]", ret); + msg(" - zb_enable() ret: [0x%X]", ret); return RET_SUCCESS; } @@ -983,21 +984,23 @@ static int __select_handle_register_event(MManager *mm, struct menu_data *menu) msg("zb_create(%d) - SUCCESS!!!. handle [%p]", ret, handle); } - ret = zb_enable(handle, zigbee_enable_cb, NULL); + /* Set event callback */ + ret = zb_set_event_cb(handle, zigbee_event_cb); if (ZIGBEE_ERROR_NONE != ret) { - msg("zb_enable(0x%X) - FAILED!!!", ret); + msg("zb_set_event_cb(0x%X) - FAILED!!!", ret); return RET_FAILURE; } - msg(" - zb_enable() ret: [0x%X]", ret); + msg(" - zb_set_event_cb() ret: [0x%X]", ret); - ret = zb_set_event_cb(handle, zigbee_event_cb); + /* Enable */ + ret = zb_enable(handle, zigbee_enable_cb, NULL); if (ZIGBEE_ERROR_NONE != ret) { - msg("zb_set_event_cb(0x%X) - FAILED!!!", ret); + msg("zb_enable(0x%X) - FAILED!!!", ret); return RET_FAILURE; } - msg(" - zb_set_event_cb() ret: [0x%X]", ret); + msg(" - zb_enable() ret: [0x%X]", ret); menu_manager_set_user_data(mm, handle);