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;
#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;
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()");
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,
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;
}
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);
_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);
_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);
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;
}
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);