if (NULL == service_gproxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_SERVICE_OBJECT_PATH, ZIGBEE_SERVICE_INTERFACE,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH, ZIGBEE_SERVICE_INTERFACE,
NULL, NULL);
} else
proxy = service_gproxy;
if (NULL == on_off_gproxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZCL_ON_OFF_OBJECT_PATH,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH,
ZIGBEE_ZCL_ON_OFF_INTERFACE, NULL, NULL);
} else
proxy = on_off_gproxy;
if (NULL == door_lock_gproxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZCL_DOOR_LOCK_OBJECT_PATH,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH,
ZIGBEE_ZCL_DOOR_LOCK_INTERFACE, NULL, NULL);
} else
proxy = door_lock_gproxy;
if (NULL == level_control_gproxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZCL_LEVEL_CONTROL_OBJECT_PATH,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH,
ZIGBEE_ZCL_LEVEL_CONTROL_INTERFACE, NULL, NULL);
} else
proxy = level_control_gproxy;
if (NULL == thermostat_gproxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZCL_THERMOSTAT_OBJECT_PATH,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH,
ZIGBEE_ZCL_THERMOSTAT_INTERFACE, NULL, NULL);
} else
proxy = thermostat_gproxy;
if (NULL == alarm_gproxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZCL_ALARM_OBJECT_PATH, ZIGBEE_ZCL_ALARM_INTERFACE,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH, ZIGBEE_ZCL_ALARM_INTERFACE,
NULL, NULL);
} else
proxy = alarm_gproxy;
if (NULL == fan_control_gproxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZCL_FAN_CONTROL_OBJECT_PATH,
- ZIGBEE_ZCL_FAN_CONTROL_INTERFACE, NULL,
- NULL);
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH,
+ ZIGBEE_ZCL_FAN_CONTROL_INTERFACE, NULL, NULL);
} else
proxy = fan_control_gproxy;
if (NULL == mfglib_gproxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_MFGLIB_CONTROL_OBJECT_PATH,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH,
ZIGBEE_MFGLIB_CONTROL_INTERFACE, NULL, NULL);
} else
proxy = mfglib_gproxy;
if (NULL == zcl_global_proxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZCL_GLOBAL_CONTROL_OBJECT_PATH,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH,
ZIGBEE_ZCL_GLOBAL_CONTROL_INTERFACE, NULL, NULL);
} else
proxy = zcl_global_proxy;
if (NULL == zdo_dev_proxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZDO_DEV_CONTROL_OBJECT_PATH,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH,
ZIGBEE_ZDO_DEV_CONTROL_INTERFACE, NULL, NULL);
} else
proxy = zdo_dev_proxy;
if (NULL == zcl_basic_proxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZCL_BASIC_OBJECT_PATH, ZIGBEE_ZCL_BASIC_INTERFACE,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH, ZIGBEE_ZCL_BASIC_INTERFACE,
NULL, NULL);
} else
proxy = zcl_basic_proxy;
if (NULL == zcl_identify_proxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZCL_IDENTIFY_OBJECT_PATH,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH,
ZIGBEE_ZCL_IDENTIFY_INTERFACE, NULL, NULL);
} else
proxy = zcl_identify_proxy;
if (NULL == zcl_ias_zone_proxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZCL_IAS_ZONE_OBJECT_PATH,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH,
ZIGBEE_ZCL_IAS_ZONE_INTERFACE, NULL, NULL);
} else
proxy = zcl_ias_zone_proxy;
if (NULL == zcl_poll_control_proxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZCL_POLL_CONTROL_OBJECT_PATH,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH,
ZIGBEE_ZCL_POLL_CONTROL_INTERFACE, NULL, NULL);
} else
proxy = zcl_poll_control_proxy;
if (NULL == zcl_group_proxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZCL_GROUP_OBJECT_PATH, ZIGBEE_ZCL_GROUP_INTERFACE,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH, ZIGBEE_ZCL_GROUP_INTERFACE,
NULL, NULL);
} else
proxy = zcl_group_proxy;
if (NULL == zcl_scene_proxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZCL_SCENE_OBJECT_PATH, ZIGBEE_ZCL_SCENE_INTERFACE,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH, ZIGBEE_ZCL_SCENE_INTERFACE,
NULL, NULL);
} else
proxy = zcl_scene_proxy;
if (NULL == zdo_bind_proxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZDO_BIND_OBJECT_PATH, ZIGBEE_ZDO_BIND_INTERFACE,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH, ZIGBEE_ZDO_BIND_INTERFACE,
NULL, NULL);
} else
proxy = zdo_bind_proxy;
if (NULL == zcl_color_control_proxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_ZCL_COLOR_CONTROL_OBJECT_PATH,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH,
ZIGBEE_ZCL_COLOR_CONTROL_INTERFACE, NULL, NULL);
} else
proxy = zcl_color_control_proxy;
if (NULL == custom_gproxy) {
proxy = g_dbus_proxy_new_sync(gdbus_conn, G_DBUS_PROXY_FLAGS_NONE, NULL,
- ZIGBEE_SERVER_NAME, ZIGBEE_CUSTOM_OBJECT_PATH, ZIGBEE_CUSTOM_INTERFACE,
+ ZIGBEE_SERVER_NAME, ZIGBEE_CONTROL_OBJECT_PATH, ZIGBEE_CUSTOM_INTERFACE,
NULL, NULL);
} else
proxy = custom_gproxy;
zbl_dbus_stop();
}
-int zbl_enable(zigbee_h handle, zb_event_cb event_handler)
+static void _zbl_request_cleanup(gpointer data)
{
- GVariant *variant = NULL;
- unsigned char enabled;
+ zbl_req_cb_s *container = data;
+ RET_IF(NULL == container);
+
+ if (container->tid) {
+ g_source_remove(container->tid);
+ DBG("tid=%d removed");
+ container->tid = 0;
+ }
+
+#ifdef ZB_FEATURE_GLOBAL_RSP_SYNC
+ _zbl_deregister_global_req(container->handle, container);
+#endif
+
+ free(container);
+}
+
+static gboolean _zbl_timeout_enable(gpointer p)
+{
+ zbl_req_cb_s *container = NULL;
+ zb_enable_cb cb = NULL;
+
+ DBG("zb_enable_cb()");
+
+ RETVM_IF(NULL == gdbus_conn, G_SOURCE_REMOVE, "gdbus_conn is NULL");
+ container = p;
+ RETVM_IF(NULL == container, G_SOURCE_REMOVE, "cb_container is NULL");
+ cb = container->cb;
+
+ if (false == container->found && container->cb)
+ cb(ZB_ZDP_NOT_SUPPORTED, container->userdata);
+
+ container->tid = 0;
+
+ g_dbus_connection_signal_unsubscribe(gdbus_conn, container->sid);
+ DBG("container->sid=%d unsubscribed");
+ container->sid = 0;
+
+ return G_SOURCE_REMOVE;
+}
+
+static void _zbl_enable_cb(GDBusConnection *connection,
+ const gchar *sender_name, const gchar *object_path, const gchar *interface_name,
+ const gchar *signal_name, GVariant *parameters, gpointer user_data)
+{
+ zbl_req_cb_s *container = user_data;
+ zb_enable_cb cb = container->cb;
+
+ unsigned char ret = ZB_ZDP_SUCCESS;
+
+ container->found = true;
+
+ DBG("_zbl_enable_cb");
+
+ g_variant_get(parameters, "(b)", &ret);
+
+ if (cb)
+ cb(ret, container->userdata);
+
+ if (container->sid)
+ g_dbus_connection_signal_unsubscribe(gdbus_conn, container->sid);
+}
+
+
+int zbl_enable(zigbee_h handle, zb_enable_cb cb, void *user_data)
+{
+ int sub_id, to;
+ zbl_req_cb_s *container;
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == service_gproxy, ZIGBEE_ERROR_IO_ERROR);
- handle->event_handler = event_handler;
- variant = g_dbus_proxy_call_sync(service_gproxy, "enable",
- NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &enabled);
- DBG("ZigBee enabled status 0x%x", enabled);
+
+ 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(service_gproxy);
+ sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
+ ZIGBEE_SERVICE_INTERFACE, "enabled", ZIGBEE_CONTROL_OBJECT_PATH, NULL, 0,
+ _zbl_enable_cb, container, _zbl_request_cleanup);
+
+ if (0 == sub_id) {
+ ERR("g_dbus_connection_signal_subscribe() Fail");
+ free(container);
+ return ZIGBEE_ERROR_IO_ERROR;
}
+
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_enable, container);
+ container->userdata = user_data;
+
+ g_dbus_proxy_call(service_gproxy, "enable", NULL, G_DBUS_CALL_FLAGS_NONE, to,
+ NULL, NULL, container);
+
+ return ZIGBEE_ERROR_NONE;
+}
+
+int zbl_set_event_cb(zigbee_h handle, zb_event_cb event_handler)
+{
+ RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
+ handle->event_handler = event_handler;
return ZIGBEE_ERROR_NONE;
}
{
DBG("zbl_disable()");
- if (0 <= zbl_ref_count) {
+ if (0 >= zbl_ref_count) {
WARN("dbus does not initiaized\n");
return ZIGBEE_ERROR_NO_DATA;
}
if (gdbus_conn) {
if (service_gproxy) {
- g_dbus_proxy_call_sync(service_gproxy, "disable",
- NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
+ g_dbus_proxy_call(service_gproxy, "disable", NULL, G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, NULL, NULL);
g_object_unref(service_gproxy);
service_gproxy = NULL;
int zbl_hw_reset(void)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
DBG("zbl_hw_reset()");
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == service_gproxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(service_gproxy, "zb_hw_reset",
- NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant)
- g_variant_get(variant, "(y)", &status);
+ g_dbus_proxy_call(service_gproxy, "zb_hw_reset", NULL,
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
return ZIGBEE_ERROR_NONE;
}
int zbl_coex_start(unsigned char channel)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
DBG("zbl_coex_start()");
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == service_gproxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(service_gproxy, "coex_start",
- g_variant_new("(y)", channel), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
-
- if (variant)
- g_variant_get(variant, "(y)", &status);
+ g_dbus_proxy_call(service_gproxy, "coex_start", g_variant_new("(y)", channel),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
return ZIGBEE_ERROR_NONE;
}
int zbl_coex_stop(void)
{
- GVariant *variant = NULL;
- int ret = 0;
-
DBG("zbl_coex_stop()");
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == service_gproxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(service_gproxy, "coex_stop",
- NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
-
- if (variant)
- g_variant_get(variant, "(q)", &ret);
+ g_dbus_proxy_call(service_gproxy, "coex_stop", NULL, G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, NULL, NULL);
- return ret;
+ return ZIGBEE_ERROR_NONE;
}
-int zbl_form_network(zigbee_h handle)
+static void _zbl_form_network_cb(GDBusConnection *connection,
+ const gchar *sender_name, const gchar *object_path, const gchar *interface_name,
+ const gchar *signal_name, GVariant *parameters, gpointer user_data)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
+ zbl_req_cb_s *container = user_data;
+ zb_form_network_cb cb = container->cb;
+
+ nwk_addr panid;
+
+ container->found = true;
+
+ DBG("_zbl_form_network_cb()");
+
+ g_variant_get(parameters, "(q)", &panid);
+
+ if (cb)
+ cb(panid, container->userdata);
+
+ if (container->sid)
+ g_dbus_connection_signal_unsubscribe(gdbus_conn, container->sid);
+}
+
- DBG("zbl_form_network()");
+int zbl_form_network(zigbee_h handle, zb_form_network_cb cb, void *user_data)
+{
+ int sub_id, to;
+ zbl_req_cb_s *container;
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == service_gproxy, ZIGBEE_ERROR_IO_ERROR);
- /* Send enable command : sync */
- variant = g_dbus_proxy_call_sync(service_gproxy, "form_network",
- NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Form network Status 0x%x", status);
+ DBG("%s:%s", __func__, __LINE__);
+
+ 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(service_gproxy);
+ sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
+ ZIGBEE_SERVICE_INTERFACE, "form_network_done", ZIGBEE_SERVICE_OBJECT_PATH, NULL, 0,
+ _zbl_form_network_cb, container, _zbl_request_cleanup);
+
+ if (0 == sub_id) {
+ ERR("g_dbus_connection_signal_subscribe() Fail");
+ free(container);
+ return ZIGBEE_ERROR_IO_ERROR;
}
- return status;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_enable, container);
+ container->userdata = user_data;
+
+ g_dbus_proxy_call(service_gproxy, "form_network", NULL, G_DBUS_CALL_FLAGS_NONE, to,
+ NULL, NULL, container);
+
+ return ZIGBEE_ERROR_NONE;
}
-int zbl_disable_network(void)
+static void _zbl_disable_network_cb(GDBusConnection *connection,
+ const gchar *sender_name, const gchar *object_path, const gchar *interface_name,
+ const gchar *signal_name, GVariant *parameters, gpointer user_data)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
+ zbl_req_cb_s *container = user_data;
+ zb_form_network_cb cb = container->cb;
- DBG("zbl_disable_network()");
+ unsigned char ret = ZB_ZDP_SUCCESS;
+
+ container->found = true;
+
+ DBG("_zbl_disable_network_cb()");
+
+ g_variant_get(parameters, "(y)", &ret);
+
+ if (cb)
+ cb(ret, container->userdata);
+
+ if (container->sid)
+ g_dbus_connection_signal_unsubscribe(gdbus_conn, container->sid);
+}
+
+
+int zbl_disable_network(zigbee_h handle, zb_disable_network_cb cb, void *user_data)
+{
+ int sub_id, to;
+ zbl_req_cb_s *container;
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == service_gproxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(service_gproxy, "leave_network",
- NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("disable network Status 0x%x", status);
+ DBG("zbl_disable_network()");
+
+ 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(service_gproxy);
+ sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
+ ZIGBEE_SERVICE_INTERFACE, "leave_network_done", ZIGBEE_SERVICE_OBJECT_PATH, NULL, 0,
+ _zbl_disable_network_cb, container, _zbl_request_cleanup);
+
+ if (0 == sub_id) {
+ ERR("g_dbus_connection_signal_subscribe() Fail");
+ free(container);
+ return ZIGBEE_ERROR_IO_ERROR;
}
- return status;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_enable, container);
+ container->userdata = user_data;
+
+ g_dbus_proxy_call(service_gproxy, "leave_network", NULL, G_DBUS_CALL_FLAGS_NONE, to,
+ NULL, NULL, container);
+
+ return ZIGBEE_ERROR_NONE;
}
int zbl_leave_device(ieee_addr addr64, bool remove_children, bool rejoin)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
GVariantBuilder *mac_builder = NULL;
GVariant* mac_variant = NULL;
unsigned char _remove_children = (remove_children) ? 1 : 0;
g_variant_builder_add(mac_builder, "y", addr64[0]);
mac_variant = g_variant_builder_end(mac_builder);
- variant = g_dbus_proxy_call_sync(service_gproxy, "leave_req",
- g_variant_new("(@ayyy)", mac_variant, _remove_children, _rejoin),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(b)", &status);
- DBG("zigbee_remove_device 0x%x", status);
- }
+ g_dbus_proxy_call(service_gproxy, "leave_req",
+ g_variant_new("(@ayyy)", mac_variant, _remove_children, _rejoin),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_permit_join(unsigned char duration, bool broadcast)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == service_gproxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(service_gproxy, "permit_join",
- g_variant_new("(ib)", duration, broadcast),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("permit join Status 0x%x", status);
- }
+ g_dbus_proxy_call(service_gproxy, "permit_join",
+ g_variant_new("(ib)", duration, broadcast),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
static gboolean _zbl_timeout_addr_req(gpointer p)
return G_SOURCE_REMOVE;
}
-static void _zbl_request_cleanup(gpointer data)
-{
- zbl_req_cb_s *container = data;
- RET_IF(NULL == container);
-
- if (container->tid) {
- g_source_remove(container->tid);
- DBG("tid=%d removed");
- container->tid = 0;
- }
-
-#ifdef ZB_FEATURE_GLOBAL_RSP_SYNC
- _zbl_deregister_global_req(container->handle, container);
-#endif
-
- free(container);
-}
-
static void _zbl_addr_req_cb(GDBusConnection *connection,
const gchar *sender_name, const gchar *object_path, const gchar *interface_name,
const gchar *signal_name, GVariant *parameters, gpointer user_data)
user_desc_variant = g_variant_builder_end(user_desc_builder);
- g_dbus_proxy_call(zdo_dev_proxy, "user_desc_set_req", g_variant_new("(qy@ay)",
- addr16, len, user_desc_variant), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+ g_dbus_proxy_call(zdo_dev_proxy, "user_desc_set_req", g_variant_new("(qy@ay)", addr16,
+ len, user_desc_variant), G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
int zbl_device_annce(zigbee_h handle, nwk_addr addr16, ieee_addr addr64,
unsigned char capability)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
GVariantBuilder *mac_builder = NULL;
GVariant* mac_variant = NULL;
g_variant_builder_add(mac_builder, "y", addr64[0]);
mac_variant = g_variant_builder_end(mac_builder);
- variant = g_dbus_proxy_call_sync(zdo_dev_proxy, "device_annce",
- g_variant_new("(q@ayy)", addr16, mac_variant, capability),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("zbl_device_annce Status 0x%x", status);
- }
+ g_dbus_proxy_call(zdo_dev_proxy, "device_annce",
+ g_variant_new("(q@ayy)", addr16, mac_variant, capability),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- return status;
+
+ return ZIGBEE_ERROR_NONE;
}
static gboolean _zbl_timeout_bind_req_req(gpointer p)
static gboolean _zbl_timeout_unbind_req_req(gpointer p)
{
- zbl_req_cb_s *con = NULL;
+ zbl_req_cb_s *container = NULL;
zb_zdo_unbind_rsp cb = NULL;
RETVM_IF(NULL == gdbus_conn, G_SOURCE_REMOVE, "gdbus_conn is NULL");
- con = p;
- RETVM_IF(NULL == con, G_SOURCE_REMOVE, "cb_container is NULL)");
- cb = con->cb;
+ container = p;
+ RETVM_IF(NULL == container, G_SOURCE_REMOVE, "cb_container is NULL)");
+ cb = container->cb;
- if (false == con->found && con->cb)
- cb(ZB_ZDP_TIMEOUT, con->userdata);
+ if (false == container->found && container->cb)
+ cb(ZB_ZDP_TIMEOUT, container->userdata);
- con->tid = 0;
+ container->tid = 0;
- g_dbus_connection_signal_unsubscribe(gdbus_conn, con->sid);
- con->sid = 0;
+ g_dbus_connection_signal_unsubscribe(gdbus_conn, container->sid);
+ container->sid = 0;
return G_SOURCE_REMOVE;
}
static gboolean _zbl_timeout_mgmt_nwk_disc_req(gpointer p)
{
- zbl_req_cb_s *con = NULL;
+ zbl_req_cb_s *container = NULL;
zb_zdo_mgmt_nwk_disc_rsp cb = NULL;
zb_zdo_network_list_record_h *records = NULL;
RETVM_IF(NULL == gdbus_conn, G_SOURCE_REMOVE, "gdbus_conn is NULL");
- con = p;
- RETVM_IF(NULL == con, G_SOURCE_REMOVE, "cb_container is NULL)");
- cb = con->cb;
+ container = p;
+ RETVM_IF(NULL == container, G_SOURCE_REMOVE, "cb_container is NULL)");
+ cb = container->cb;
records = calloc(1, sizeof(zb_zdo_network_list_record_h));
if (records) {
records[0] = calloc(1, sizeof(struct zb_zdo_network_list_record_s));
}
- if (false == con->found && con->cb)
- cb(0, 0, 0, 0, records, con->userdata);
+ if (false == container->found && container->cb)
+ cb(0, 0, 0, 0, records, container->userdata);
if (records[0])
free(records[0]);
if (records)
free(records);
- con->tid = 0;
+ container->tid = 0;
- g_dbus_connection_signal_unsubscribe(gdbus_conn, con->sid);
- con->sid = 0;
+ g_dbus_connection_signal_unsubscribe(gdbus_conn, container->sid);
+ container->sid = 0;
return G_SOURCE_REMOVE;
}
g_dbus_proxy_call(zdo_dev_proxy, "nwk_disc_req",
g_variant_new("(quyqy)", addr16, scan_channels, scan_duration, scan_count, start_idx),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
int sub_id, to;
zbl_req_cb_s *container;
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
GVariantBuilder *mac_builder = NULL;
GVariant* mac_variant = NULL;
g_variant_builder_add(mac_builder, "y", addr64[0]);
mac_variant = g_variant_builder_end(mac_builder);
- variant = g_dbus_proxy_call_sync(service_gproxy, "leave_req",
- g_variant_new("(@ayyy)", mac_variant, remove_children, rejoin),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(b)", &status);
- DBG("Status 0x%x", status);
- }
+ g_dbus_proxy_call(service_gproxy, "leave_req",
+ g_variant_new("(@ayyy)", mac_variant, remove_children, rejoin),
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
static gboolean _zbl_timeout_mgmt_permit_joining_req(gpointer p)
int sub_id, to;
zbl_req_cb_s *container;
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == service_gproxy, ZIGBEE_ERROR_IO_ERROR);
container->tid = g_timeout_add_seconds(to, _zbl_timeout_mgmt_permit_joining_req, container);
container->userdata = user_data;
- variant = g_dbus_proxy_call_sync(zdo_dev_proxy, "mgmt_permit_join_req",
- g_variant_new("(qyy)", addr16, duration, tc_significance),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status 0x%x", status);
- }
+ g_dbus_proxy_call(zdo_dev_proxy, "mgmt_permit_join_req",
+ g_variant_new("(qyy)", addr16, duration, tc_significance),
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
static gboolean _zbl_timeout_aps_send(gpointer p)
int sub_id, to, i;
zbl_req_cb_s *container;
- GVariant *variant = NULL;
GVariantBuilder *payload_builder = NULL;
GVariant *payload_variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == custom_gproxy, ZIGBEE_ERROR_IO_ERROR);
}
payload_variant = g_variant_builder_end(payload_builder);
- variant = g_dbus_proxy_call_sync(custom_gproxy, "aps_send",
- g_variant_new("(qyyyqqyq@ay)", addr16, aps_frame_ctl,
- src_ep, dst_ep, cluster_id, profile_id, zcl_frame_ctl,
- mfg_code, payload_variant),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status 0x%x", status);
- g_variant_unref(variant);
- }
+ g_dbus_proxy_call(custom_gproxy, "aps_send",
+ g_variant_new("(qyyyqqyq@ay)", addr16, aps_frame_ctl, src_ep, dst_ep, cluster_id,
+ profile_id, zcl_frame_ctl, mfg_code, payload_variant),
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
static gboolean _zbl_timeout_zcl_send(gpointer p)
int sub_id, to, i;
zbl_req_cb_s *container;
- GVariant *variant = NULL;
GVariantBuilder *payload_builder = NULL;
GVariant *payload_variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == custom_gproxy, ZIGBEE_ERROR_IO_ERROR);
}
payload_variant = g_variant_builder_end(payload_builder);
- variant = g_dbus_proxy_call_sync(custom_gproxy, "zcl_send",
- g_variant_new("(qyyqyy@ay)", addr16, src_ep, dst_ep,
- cluster_id, zcl_frame_ctl, cmd, payload_variant),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status 0x%x", status);
- g_variant_unref(variant);
- }
+ g_dbus_proxy_call(custom_gproxy, "zcl_send",
+ g_variant_new("(qyyqyy@ay)", addr16, src_ep, dst_ep, cluster_id, zcl_frame_ctl,
+ cmd, payload_variant), G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
static gboolean _zbl_timeout_send_to_local(gpointer p)
int sub_id, to, i;
zbl_req_cb_s *container;
- GVariant *variant = NULL;
GVariantBuilder *payload_builder = NULL;
GVariant *payload_variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == custom_gproxy, ZIGBEE_ERROR_IO_ERROR);
}
payload_variant = g_variant_builder_end(payload_builder);
- variant = g_dbus_proxy_call_sync(custom_gproxy, "send_to_local",
- g_variant_new("(@ay)", payload_variant),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status 0x%x", status);
- g_variant_unref(variant);
- }
+ g_dbus_proxy_call(custom_gproxy, "send_to_local",
+ g_variant_new("(@ay)", payload_variant),
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
static gboolean _zbl_timeout_read_attributes_req(gpointer p)
{
int sub_id, to;
zbl_req_cb_s *container;
- unsigned char status = ZIGBEE_ERROR_NONE;
#ifdef ZB_FEATURE_GLOBAL_RSP_SYNC
zb_event_global_default_rsp_s *global_req = NULL;
#endif
DBG("zbl_write_attr_req()");
- GVariant *variant = NULL;
GVariantBuilder *rec_builder = NULL;
GVariant *rec_variant = NULL;
_zbl_register_global_req(handle, container);
#endif
- variant = g_dbus_proxy_call_sync(zcl_global_proxy, "write_attributes_req",
+ g_dbus_proxy_call(zcl_global_proxy, "write_attributes_req",
g_variant_new("(@ayiqqyyy)", rec_variant, writeAttributeIndex, addr16,
cluster_id, zcl_frame_ctl, src_ep, dst_ep), G_DBUS_CALL_FLAGS_NONE,
- -1, NULL, NULL);
-
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("read_attr_req Status 0x%02X", status);
- }
+ to, NULL, NULL, container);
free(isString);
free(dataSize);
free(writeAttribute);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_wattr_undivided_req(zigbee_h handle, nwk_addr addr16, unsigned char src_ep,
{
int sub_id, to;
zbl_req_cb_s *container;
- unsigned char status = ZIGBEE_ERROR_NONE;
#ifdef ZB_FEATURE_GLOBAL_RSP_SYNC
zb_event_global_default_rsp_s *global_req = NULL;
#endif
DBG("zbl_wattr_undivided_req()");
- GVariant *variant = NULL;
GVariantBuilder *rec_builder = NULL;
GVariant *rec_variant = NULL;
_zbl_register_global_req(handle, container);
#endif
- variant = g_dbus_proxy_call_sync(zcl_global_proxy, "write_attributes_undivided_req",
+ g_dbus_proxy_call(zcl_global_proxy, "write_attributes_undivided_req",
g_variant_new("(@ayiqqyyy)", rec_variant, writeAttributeIndex, addr16,
cluster_id, zcl_frame_ctl, src_ep, dst_ep), G_DBUS_CALL_FLAGS_NONE,
- -1, NULL, NULL);
-
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("read_attr_req Status 0x%02X", status);
- }
+ to, NULL, NULL, container);
free(isString);
free(dataSize);
free(writeAttribute);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_wattr_req_no_rsp(zigbee_h handle, nwk_addr addr16, unsigned char src_ep,
unsigned char dst_ep, unsigned char zcl_frame_ctl, unsigned short cluster_id,
write_attr_record_h *records, int records_len)
{
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_global_proxy, ZIGBEE_ERROR_IO_ERROR);
DBG("zbl_wattr_req_no_rsp()");
- GVariant *variant = NULL;
GVariantBuilder *rec_builder = NULL;
GVariant *rec_variant = NULL;
rec_variant = g_variant_builder_end(rec_builder);
- g_dbus_proxy_call_sync(zcl_global_proxy, "write_attributes_no_rep",
+ g_dbus_proxy_call(zcl_global_proxy, "write_attributes_no_rep",
g_variant_new("(@ayiqqyyy)", rec_variant, writeAttributeIndex, addr16,
cluster_id, zcl_frame_ctl, src_ep, dst_ep), G_DBUS_CALL_FLAGS_NONE,
- -1, NULL, NULL);
-
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("write_attributes_no_rep Status 0x%02X", status);
- }
+ -1, NULL, NULL, NULL);
free(isString);
free(dataSize);
free(writeAttribute);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
static gboolean _zbl_timeout_configure_reporting(gpointer p)
int j = 0;
int len = 0;
int count = 0;
- unsigned char status = ZIGBEE_ERROR_NONE;
- GVariant *variant = NULL;
+
GVariantBuilder *rec_builder = NULL;
GVariant *rec_variant = NULL;
}
rec_variant = g_variant_builder_end(rec_builder);
- variant = g_dbus_proxy_call_sync(zcl_global_proxy, "configure_reporting_req",
- g_variant_new("(@ayqqqyyy)", rec_variant, count, addr16,
- cluster_id, zcl_frame_ctl, src_ep, dst_ep), G_DBUS_CALL_FLAGS_NONE,
- -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("zbl_configure_reporting Status = 0x%02X", status);
- }
- return status;
+ g_dbus_proxy_call(zcl_global_proxy, "configure_reporting_req",
+ g_variant_new("(@ayqqqyyy)", rec_variant, count, addr16, cluster_id,
+ zcl_frame_ctl, src_ep, dst_ep), G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
+
+ return ZIGBEE_ERROR_NONE;
}
static gboolean _zbl_timeout_read_configure_reporting(gpointer p)
int i = 0;
int j = 0;
int size_of_allo = 0;
- unsigned short idx = ZIGBEE_ERROR_NONE;
- unsigned char status = 0;
- GVariant *variant = NULL;
+ unsigned short idx = 0;
GVariantBuilder *rec_builder = NULL;
GVariant *rec_variant = NULL;
unsigned char *read_attributes;
rec_variant = g_variant_builder_end(rec_builder);
- variant = g_dbus_proxy_call_sync(zcl_global_proxy, "read_configure_reporting",
- g_variant_new("(@ayqqqyyy)", rec_variant, idx, addr16,
- cluster_id, zcl_frame_ctl, src_ep, dst_ep),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("zbl_read_configure_reporting Status = 0x%0.2X", status);
- }
+ g_dbus_proxy_call(zcl_global_proxy, "read_configure_reporting",
+ g_variant_new("(@ayqqqyyy)", rec_variant, idx, addr16, cluster_id, zcl_frame_ctl,
+ src_ep, dst_ep), G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
free(read_attributes);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
static gboolean _zbl_timeout_discover_attributes_req(gpointer p)
static gboolean _zbl_timeout_discover_cmds(gpointer p)
{
- zbl_req_cb_s *con = NULL;
+ zbl_req_cb_s *container = NULL;
zb_zcl_global_discover_cmds_rsp cb = NULL;
RETVM_IF(NULL == gdbus_conn, G_SOURCE_REMOVE, "gdbus_conn is NULL");
- con = p;
- RETVM_IF(NULL == con, G_SOURCE_REMOVE, "cb_container is NULL");
- cb = con->cb;
+ container = p;
+ RETVM_IF(NULL == container, G_SOURCE_REMOVE, "cb_container is NULL");
+ cb = container->cb;
- if (false == con->found && con->cb)
- cb(0, 0, 0, 0, NULL, 0, con->userdata);
+ if (false == container->found && container->cb)
+ cb(0, 0, 0, 0, NULL, 0, container->userdata);
- con->tid = 0;
+ container->tid = 0;
- g_dbus_connection_signal_unsubscribe(gdbus_conn, con->sid);
- con->sid = 0;
+ g_dbus_connection_signal_unsubscribe(gdbus_conn, container->sid);
+ container->sid = 0;
return G_SOURCE_REMOVE;
}
const gchar *signal_name, GVariant *parameters, gpointer user_data)
{
DBG("_zbl_discover_cmds_cb");
- zbl_req_cb_s *con = user_data;
- RETM_IF(NULL == con, "cb_container is NULL");
+ zbl_req_cb_s *container = user_data;
+ RETM_IF(NULL == container, "cb_container is NULL");
- zb_zcl_global_discover_cmds_rsp cb = con->cb;
+ zb_zcl_global_discover_cmds_rsp cb = container->cb;
nwk_addr addr16;
unsigned char ep;
j++;
}
- con->found = true;
+ container->found = true;
if (cb)
- cb(addr16, ep, cluster_id, discoveryComplete, cmd_data, cmd_len, con->userdata);
+ cb(addr16, ep, cluster_id, discoveryComplete, cmd_data, cmd_len, container->userdata);
free(cmd_data);
- if (con->sid)
- g_dbus_connection_signal_unsubscribe(gdbus_conn, con->sid);
+ if (container->sid)
+ g_dbus_connection_signal_unsubscribe(gdbus_conn, container->sid);
}
int zbl_discover_cmds_gen(zigbee_h handle, nwk_addr addr16, unsigned char src_ep, unsigned char dst_ep,
unsigned char max_command_ids, zb_zcl_global_discover_cmds_rsp cb, void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
- unsigned char status = ZIGBEE_ERROR_NONE;
- GVariant *variant = NULL;
+ zbl_req_cb_s *container;
#ifdef ZB_FEATURE_GLOBAL_RSP_SYNC
zb_event_global_default_rsp_s *global_req = NULL;
#endif
DBG("zbl_discover_attr_gen()");
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_global_proxy);
sub_id = g_dbus_connection_signal_subscribe(gdbus_conn, NULL,
ZIGBEE_ZCL_GLOBAL_CONTROL_INTERFACE, "discover_commands_received_rsp",
- ZIGBEE_ZCL_GLOBAL_CONTROL_OBJECT_PATH, NULL, 0, _zbl_discover_cmds_cb, con,
+ ZIGBEE_ZCL_GLOBAL_CONTROL_OBJECT_PATH, NULL, 0, _zbl_discover_cmds_cb, container,
_zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_discover_cmds, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_discover_cmds, container);
+ container->userdata = user_data;
#ifdef ZB_FEATURE_GLOBAL_RSP_SYNC
global_req = calloc(1, sizeof(zb_event_global_default_rsp_s));
if (NULL == global_req) {
g_dbus_connection_signal_unsubscribe(gdbus_conn, sub_id);
- g_source_remove(con->tid);
- con->tid = 0;
- free(con);
+ g_source_remove(container->tid);
+ container->tid = 0;
+ free(container);
ERR("calloc() Fail(%d)", errno);
return ZIGBEE_ERROR_OUT_OF_MEMORY;
}
global_req->cluster_id = cluster_id;
global_req->command_id = ZB_ZCL_DISCOVER_COMMANDS_GENERATED_COMMAND_ID;
- con->global_cmd = global_req;
- con->handle = handle;
+ container->global_cmd = global_req;
+ container->handle = handle;
/* Register global request information into handle */
- _zbl_register_global_req(handle, con);
+ _zbl_register_global_req(handle, container);
#endif
- variant = g_dbus_proxy_call_sync(zcl_global_proxy, "discover_commands_received",
+ g_dbus_proxy_call(zcl_global_proxy, "discover_commands_received",
g_variant_new("(qyyqqy)", addr16, dst_ep, zcl_frame_ctl, cluster_id,
- start_command_id, max_command_ids), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("zbl_discover_attr_gen Status = 0x%02X", status);
- }
- return status;
+ start_command_id, max_command_ids), G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
+
+ return ZIGBEE_ERROR_NONE;
}
int zbl_discover_cmds_recv(zigbee_h handle, nwk_addr addr16, unsigned char src_ep, unsigned char dst_ep,
unsigned char max_command_ids, zb_zcl_global_discover_cmds_rsp cb, void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
- unsigned char status = ZIGBEE_ERROR_NONE;
- GVariant *variant = NULL;
+ zbl_req_cb_s *container;
+
#ifdef ZB_FEATURE_GLOBAL_RSP_SYNC
zb_event_global_default_rsp_s *global_req = NULL;
#endif
DBG("zbl_discover_cmds_recv()");
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_global_proxy);
sub_id = g_dbus_connection_signal_subscribe(gdbus_conn, NULL,
ZIGBEE_ZCL_GLOBAL_CONTROL_INTERFACE, "discover_commands_received_rsp",
- ZIGBEE_ZCL_GLOBAL_CONTROL_OBJECT_PATH, NULL, 0, _zbl_discover_cmds_cb, con,
+ ZIGBEE_ZCL_GLOBAL_CONTROL_OBJECT_PATH, NULL, 0, _zbl_discover_cmds_cb, container,
_zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_discover_cmds, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_discover_cmds, container);
+ container->userdata = user_data;
#ifdef ZB_FEATURE_GLOBAL_RSP_SYNC
global_req = calloc(1, sizeof(zb_event_global_default_rsp_s));
if (NULL == global_req) {
g_dbus_connection_signal_unsubscribe(gdbus_conn, sub_id);
- g_source_remove(con->tid);
- con->tid = 0;
- free(con);
+ g_source_remove(container->tid);
+ container->tid = 0;
+ free(container);
ERR("calloc() Fail(%d)", errno);
return ZIGBEE_ERROR_OUT_OF_MEMORY;
}
global_req->cluster_id = cluster_id;
global_req->command_id = ZB_ZCL_DISCOVER_COMMANDS_RECEIVED_COMMAND_ID;
- con->global_cmd = global_req;
- con->handle = handle;
+ container->global_cmd = global_req;
+ container->handle = handle;
/* Register global request information into handle */
- _zbl_register_global_req(handle, con);
+ _zbl_register_global_req(handle, container);
#endif
- variant = g_dbus_proxy_call_sync(zcl_global_proxy, "discover_commands_received",
- g_variant_new("(qyyqqy)", addr16, dst_ep, zcl_frame_ctl, cluster_id,
- start_command_id, max_command_ids), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("zbl_discover_attr_gen Status = 0x%02X", status);
- }
- return status;
+ g_dbus_proxy_call(zcl_global_proxy, "discover_commands_received",
+ g_variant_new("(qyyqqy)", addr16, dst_ep, zcl_frame_ctl, cluster_id,
+ start_command_id, max_command_ids), G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
+
+ return ZIGBEE_ERROR_NONE;
}
static gboolean _zbl_timeout_discover_attr_ext(gpointer p)
{
- zbl_req_cb_s *con = NULL;
+ zbl_req_cb_s *container = NULL;
zb_zcl_global_discover_attr_extended_rsp cb = NULL;
RETVM_IF(NULL == gdbus_conn, G_SOURCE_REMOVE, "gdbus_conn is NULL");
- con = p;
- RETVM_IF(NULL == con, G_SOURCE_REMOVE, "cb_container is NULL");
- cb = con->cb;
+ container = p;
+ RETVM_IF(NULL == container, G_SOURCE_REMOVE, "cb_container is NULL");
+ cb = container->cb;
- if (false == con->found && con->cb)
- cb(0, 0, 0, 0, NULL, 0, con->userdata);
+ if (false == container->found && container->cb)
+ cb(0, 0, 0, 0, NULL, 0, container->userdata);
- con->tid = 0;
+ container->tid = 0;
- g_dbus_connection_signal_unsubscribe(gdbus_conn, con->sid);
- con->sid = 0;
+ g_dbus_connection_signal_unsubscribe(gdbus_conn, container->sid);
+ container->sid = 0;
return G_SOURCE_REMOVE;
}
const gchar *sender_name, const gchar *object_path, const gchar *interface_name,
const gchar *signal_name, GVariant *parameters, gpointer user_data)
{
- zbl_req_cb_s *con = user_data;
- RETM_IF(NULL == con, "cb_container is NULL");
+ zbl_req_cb_s *container = user_data;
+ RETM_IF(NULL == container, "cb_container is NULL");
- zb_zcl_global_discover_attr_extended_rsp cb = con->cb;
+ zb_zcl_global_discover_attr_extended_rsp cb = container->cb;
nwk_addr addr16;
unsigned char ep;
j++;
}
- con->found = true;
+ container->found = true;
if (cb)
- cb(addr16, ep, cluster_id, discoveryComplete, records, rec_len, con->userdata);
+ cb(addr16, ep, cluster_id, discoveryComplete, records, rec_len, container->userdata);
for (j = 0; j < rec_len; j++)
free(records[j]);
free(records);
- if (con->sid)
- g_dbus_connection_signal_unsubscribe(gdbus_conn, con->sid);
+ if (container->sid)
+ g_dbus_connection_signal_unsubscribe(gdbus_conn, container->sid);
}
int zbl_discover_attr_ext(zigbee_h handle, nwk_addr addr16, unsigned char src_ep, unsigned char dst_ep,
void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
- unsigned char status = ZIGBEE_ERROR_NONE;
- GVariant *variant = NULL;
+ zbl_req_cb_s *container;
+
#ifdef ZB_FEATURE_GLOBAL_RSP_SYNC
zb_event_global_default_rsp_s *global_req = NULL;
#endif
DBG("zbl_discover_attr_ext()");
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_global_proxy);
sub_id = g_dbus_connection_signal_subscribe(gdbus_conn, NULL,
ZIGBEE_ZCL_GLOBAL_CONTROL_INTERFACE, "discover_attributes_extended_rsp",
- ZIGBEE_ZCL_GLOBAL_CONTROL_OBJECT_PATH, NULL, 0, _zbl_discover_attr_ext_cb, con,
+ ZIGBEE_ZCL_GLOBAL_CONTROL_OBJECT_PATH, NULL, 0, _zbl_discover_attr_ext_cb, container,
_zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_discover_attr_ext, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_discover_attr_ext, container);
+ container->userdata = user_data;
#ifdef ZB_FEATURE_GLOBAL_RSP_SYNC
global_req = calloc(1, sizeof(zb_event_global_default_rsp_s));
if (NULL == global_req) {
g_dbus_connection_signal_unsubscribe(gdbus_conn, sub_id);
- g_source_remove(con->tid);
- con->tid = 0;
- free(con);
+ g_source_remove(container->tid);
+ container->tid = 0;
+ free(container);
ERR("calloc() Fail(%d)", errno);
return ZIGBEE_ERROR_OUT_OF_MEMORY;
}
global_req->cluster_id = cluster_id;
global_req->command_id = ZB_ZCL_DISCOVER_ATTRIBUTES_EXTENDED_COMMAND_ID;
- con->global_cmd = global_req;
- con->handle = handle;
+ container->global_cmd = global_req;
+ container->handle = handle;
/* Register global request information into handle */
- _zbl_register_global_req(handle, con);
+ _zbl_register_global_req(handle, container);
#endif
- variant = g_dbus_proxy_call_sync(zcl_global_proxy, "discover_attributes_extended",
- g_variant_new("(qyyqqy)", addr16, dst_ep, zcl_frame_ctl,
- cluster_id, start_id, max_attribute_ids), G_DBUS_CALL_FLAGS_NONE,
- -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("zbl_discover_attr_ext Status = 0x%02X", status);
- }
- return status;
+ g_dbus_proxy_call(zcl_global_proxy, "discover_attributes_extended",
+ g_variant_new("(qyyqqy)", addr16, dst_ep, zcl_frame_ctl, cluster_id, start_id,
+ max_attribute_ids), G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
+
+ return ZIGBEE_ERROR_NONE;
}
int zbl_reset_alarm(nwk_addr addr16, unsigned char ep, unsigned char alarm_code,
unsigned short cluster_id)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == alarm_gproxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(alarm_gproxy, "reset_alarm",
- g_variant_new("(qyyq)", addr16, ep, alarm_code, cluster_id),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("zbl_alarm_reset_alarm Status %d", status);
- }
- return status;
+ g_dbus_proxy_call(alarm_gproxy, "reset_alarm",
+ g_variant_new("(qyyq)", addr16, ep, alarm_code, cluster_id),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+
+ return ZIGBEE_ERROR_NONE;
}
int zbl_reset_all_alarm(nwk_addr addr16, unsigned char ep)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == alarm_gproxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(alarm_gproxy, "reset_all_alarm",
- g_variant_new("(qy)", addr16, ep),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("zbl_alarm_reset_all_alarm Status %d", status);
- }
- return status;
+ g_dbus_proxy_call(alarm_gproxy, "reset_all_alarm", g_variant_new("(qy)", addr16, ep),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+
+ return ZIGBEE_ERROR_NONE;
}
static gboolean _zbl_timeout_get_alarm(gpointer p)
int zbl_reset_all_alarm_log(nwk_addr addr16, unsigned char ep)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == alarm_gproxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(alarm_gproxy, "reset_all_alarm_log",
- g_variant_new("(qy)", addr16, ep),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("zbl_reset_all_alarm_log Status %d", status);
- }
+ g_dbus_proxy_call(alarm_gproxy, "reset_all_alarm_log",
+ g_variant_new("(qy)", addr16, ep), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_ccontrol_move_to_hue(nwk_addr addr16, unsigned char ep,
int zbl_reset_factory_default(nwk_addr addr16, unsigned char ep)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_basic_proxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(zcl_basic_proxy, "rest_factory_default",
- g_variant_new("(qy)", addr16, ep), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("zbl_reset_factory_default Status %d", status);
- }
+ g_dbus_proxy_call(zcl_basic_proxy, "rest_factory_default",
+ g_variant_new("(qy)", addr16, ep), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_identify(nwk_addr addr16, unsigned char dst_ep, unsigned short identify_time)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_identify_proxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(zcl_identify_proxy, "identify",
- g_variant_new("(qyq)", addr16, dst_ep, identify_time),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("zbl_reset_factory_default Status %d", status);
- }
- return status;
+ g_dbus_proxy_call(zcl_identify_proxy, "identify",
+ g_variant_new("(qyq)", addr16, dst_ep, identify_time),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+
+ return ZIGBEE_ERROR_NONE;
}
static gboolean _zbl_timeout_identify_query(gpointer p)
zb_zcl_identify_query_cb cb, void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
+ zbl_req_cb_s *container;
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_identify_proxy, ZIGBEE_ERROR_IO_ERROR);
DBG("zbl_identify_query()");
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_identify_proxy);
sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
ZIGBEE_ZCL_IDENTIFY_INTERFACE, "query_rsp", ZIGBEE_ZCL_IDENTIFY_OBJECT_PATH,
- NULL, 0, _zbl_identify_query_cb, con, _zbl_request_cleanup);
+ NULL, 0, _zbl_identify_query_cb, container, _zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_identify_query, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_identify_query, container);
+ container->userdata = user_data;
g_dbus_proxy_call(zcl_identify_proxy, "query", g_variant_new("(qy)", addr16, dst_ep),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
const char *group_name, zb_zcl_group_add_group_rsp cb, void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
+ zbl_req_cb_s *container;
int j = 0;
GVariant *groupname_variant = NULL;
DBG("zbl_add_group()");
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_group_proxy);
sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
ZIGBEE_ZCL_GROUP_INTERFACE, "add_group_rsp", ZIGBEE_ZCL_GROUP_OBJECT_PATH,
- NULL, 0, _zbl_add_group_cb, con, _zbl_request_cleanup);
+ NULL, 0, _zbl_add_group_cb, container, _zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_add_group, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_add_group, container);
+ container->userdata = user_data;
groupname_builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
g_dbus_proxy_call(zcl_group_proxy, "add_group",
g_variant_new("(qyq@ay)", addr16, ep, group_id, groupname_variant),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
zb_zcl_group_view_group_rsp cb, void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
+ zbl_req_cb_s *container;
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_group_proxy, ZIGBEE_ERROR_IO_ERROR);
DBG("zbl_view_group()");
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_group_proxy);
sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
ZIGBEE_ZCL_GROUP_INTERFACE, "view_group_rsp", ZIGBEE_ZCL_GROUP_OBJECT_PATH,
- NULL, 0, _zbl_view_group_cb, con, _zbl_request_cleanup);
+ NULL, 0, _zbl_view_group_cb, container, _zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_view_group, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_view_group, container);
+ container->userdata = user_data;
- g_dbus_proxy_call(zcl_group_proxy, "view_group", g_variant_new("(qyq)",
- addr16, ep, group_id), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+ g_dbus_proxy_call(zcl_group_proxy, "view_group",
+ g_variant_new("(qyq)", addr16, ep, group_id),
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
zb_zcl_group_get_group_membership_rsp cb, void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
+ zbl_req_cb_s *container;
int j = 0;
GVariant *grouplist_variant = NULL;
DBG("zbl_group_get_group_membership()");
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_group_proxy);
sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
ZIGBEE_ZCL_GROUP_INTERFACE, "get_group_membership_rsp",
ZIGBEE_ZCL_GROUP_OBJECT_PATH, NULL, 0, _zbl_group_get_group_membership_cb,
- con, _zbl_request_cleanup);
+ container, _zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_get_group_membership, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_get_group_membership, container);
+ container->userdata = user_data;
grouplist_builder = g_variant_builder_new(G_VARIANT_TYPE("aq"));
while (j < group_count) {
g_dbus_proxy_call(zcl_group_proxy, "get_group_membership",
g_variant_new("(qyy@aq)", addr16, ep, group_count, grouplist_variant),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
zb_zcl_group_remove_group_rsp cb, void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
+ zbl_req_cb_s *container;
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_group_proxy, ZIGBEE_ERROR_IO_ERROR);
DBG("zbl_group_remove_group()");
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_group_proxy);
sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
ZIGBEE_ZCL_GROUP_INTERFACE, "remove_group_rsp", ZIGBEE_ZCL_GROUP_OBJECT_PATH,
- NULL, 0, _zbl_remove_group_cb, con, _zbl_request_cleanup);
+ NULL, 0, _zbl_remove_group_cb, container, _zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_remove_group, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_remove_group, container);
+ container->userdata = user_data;
g_dbus_proxy_call(zcl_group_proxy, "remove_group", g_variant_new("(qyq)",
- addr16, ep, group_id), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+ addr16, ep, group_id), G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
int zbl_remove_all_group(nwk_addr addr16, unsigned char ep)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_group_proxy, ZIGBEE_ERROR_IO_ERROR);
DBG("zbl_group_remove_all_group()");
- variant = g_dbus_proxy_call_sync(zcl_group_proxy, "remove_all_group",
- g_variant_new("(qy)", addr16, ep),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status = 0x%02X", status);
- }
+ g_dbus_proxy_call(zcl_group_proxy, "remove_all_group", g_variant_new("(qy)", addr16, ep),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_add_group_if_identifying(nwk_addr addr16, unsigned char ep,
{
int j = 0;
GVariant *groupname_variant = NULL;
- GVariant *variant = NULL;
GVariantBuilder *groupname_builder = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_group_proxy, ZIGBEE_ERROR_IO_ERROR);
}
groupname_variant = g_variant_builder_end(groupname_builder);
- variant = g_dbus_proxy_call_sync(zcl_group_proxy, "add_group_if_identifying",
+ g_dbus_proxy_call(zcl_group_proxy, "add_group_if_identifying",
g_variant_new("(qyq@ay)", addr16, ep, group_id, groupname_variant),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status = 0x%02X", status);
- }
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_level_control_move_to_level(nwk_addr addr16, unsigned char ep,
unsigned char level, unsigned short transition_time)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == level_control_gproxy, ZIGBEE_ERROR_IO_ERROR);
DBG("zbl_level_control_move_to_level()");
- variant = g_dbus_proxy_call_sync(level_control_gproxy, "move_to_level",
- g_variant_new("(qyyq)", addr16, ep, level, transition_time),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status = 0x%x", status);
- }
+ g_dbus_proxy_call(level_control_gproxy, "move_to_level",
+ g_variant_new("(qyyq)", addr16, ep, level, transition_time),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_level_control_move(nwk_addr addr16, unsigned char ep,
unsigned char move_mode, unsigned char rate)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == level_control_gproxy, ZIGBEE_ERROR_IO_ERROR);
DBG("zbl_level_control_move()");
- variant = g_dbus_proxy_call_sync(level_control_gproxy, "move",
- g_variant_new("(qyyy)", addr16, ep, move_mode, rate),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status = 0x%x", status);
- }
+ g_dbus_proxy_call(level_control_gproxy, "move",
+ g_variant_new("(qyyy)", addr16, ep, move_mode, rate),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_level_control_step(nwk_addr addr16, unsigned char ep,
unsigned char step_mode, unsigned char step_size,
unsigned short transition_time)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == level_control_gproxy, ZIGBEE_ERROR_IO_ERROR);
DBG("zbl_level_control_step()");
- variant = g_dbus_proxy_call_sync(level_control_gproxy, "step",
- g_variant_new("(qyyyq)", addr16, ep, step_mode, step_size, transition_time),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status = 0x%x", status);
- }
+ g_dbus_proxy_call(level_control_gproxy, "step",
+ g_variant_new("(qyyyq)", addr16, ep, step_mode, step_size, transition_time),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_level_control_stop(nwk_addr addr16, unsigned char ep)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == level_control_gproxy, ZIGBEE_ERROR_IO_ERROR);
DBG("zbl_level_control_stop()");
- variant = g_dbus_proxy_call_sync(level_control_gproxy, "stop",
- g_variant_new("(qy)", addr16, ep), G_DBUS_CALL_FLAGS_NONE,
- -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status = 0x%x", status);
- }
+ g_dbus_proxy_call(level_control_gproxy, "stop",
+ g_variant_new("(qy)", addr16, ep), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_level_control_move_to_level_with_on_off(nwk_addr addr16,
unsigned char ep, unsigned char level, unsigned short transition_time)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == level_control_gproxy, ZIGBEE_ERROR_IO_ERROR);
DBG("zbl_level_control_move_to_level_with_on_off()");
- variant = g_dbus_proxy_call_sync(level_control_gproxy, "move_to_level_with_on_off",
- g_variant_new("(qyyq)", addr16, ep, level, transition_time),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status = 0x%x", status);
- }
+ g_dbus_proxy_call(level_control_gproxy, "move_to_level_with_on_off",
+ g_variant_new("(qyyq)", addr16, ep, level, transition_time),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_level_control_move_with_on_off(nwk_addr addr16, unsigned char ep,
unsigned char move_mode, unsigned char rate)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == level_control_gproxy, ZIGBEE_ERROR_IO_ERROR);
DBG("zbl_level_control_move_with_on_off()");
- variant = g_dbus_proxy_call_sync(level_control_gproxy, "move_with_on_off",
- g_variant_new("(qyyy)", addr16, ep, move_mode, rate),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status = 0x%x", status);
- }
+ g_dbus_proxy_call(level_control_gproxy, "move_with_on_off",
+ g_variant_new("(qyyy)", addr16, ep, move_mode, rate),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_level_control_step_with_on_off(nwk_addr addr16, unsigned char ep,
unsigned char step_mode, unsigned char step_size,
unsigned short transition_time)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == level_control_gproxy, ZIGBEE_ERROR_IO_ERROR);
DBG("zbl_level_control_step_with_on_off()");
- variant = g_dbus_proxy_call_sync(level_control_gproxy, "step_with_on_off",
- g_variant_new("(qyyyq)", addr16, ep, step_mode, step_size, transition_time),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status = 0x%x", status);
- }
+ g_dbus_proxy_call(level_control_gproxy, "step_with_on_off",
+ g_variant_new("(qyyyq)", addr16, ep, step_mode, step_size, transition_time),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_onoff_set(nwk_addr addr16, unsigned char ep, unsigned char on_off_type)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == on_off_gproxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(on_off_gproxy, "set_on_off",
- g_variant_new("(qyy)", addr16, ep, on_off_type), G_DBUS_CALL_FLAGS_NONE,
- -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("zigbee_set_on_off Status 0x%x", status);
- }
+ g_dbus_proxy_call(on_off_gproxy, "set_on_off",
+ g_variant_new("(qyy)", addr16, ep, on_off_type), G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, NULL, NULL);
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_zone_enroll_response(nwk_addr addr16, unsigned char dst_ep,
unsigned char enroll_response_code, unsigned char zone_id)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_ias_zone_proxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(zcl_ias_zone_proxy, "enroll_response",
- g_variant_new("(qyyy)", addr16, dst_ep, enroll_response_code,
- zone_id), G_DBUS_CALL_FLAGS_NONE,
- -1, NULL, NULL);
+ g_dbus_proxy_call(zcl_ias_zone_proxy, "enroll_response",
+ g_variant_new("(qyyy)", addr16, dst_ep, enroll_response_code, zone_id),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status = 0x%02X", status);
- }
- return status;
+ return ZIGBEE_ERROR_NONE;
}
int zbl_pollcontrol_check_in_response(nwk_addr addr16, unsigned char ep,
unsigned char start_fast_polling, unsigned short fast_poll_timeout)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_poll_control_proxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(zcl_poll_control_proxy, "check_in_response",
- g_variant_new("(qyyq)", addr16, ep, start_fast_polling,
- fast_poll_timeout), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status = 0x%02X", status);
- }
- return status;
+ g_dbus_proxy_call(zcl_poll_control_proxy, "check_in_response",
+ g_variant_new("(qyyq)", addr16, ep, start_fast_polling, fast_poll_timeout),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+
+ return ZIGBEE_ERROR_NONE;
}
int zbl_pollcontrol_fast_poll_stop(nwk_addr addr16, unsigned char ep)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_poll_control_proxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(zcl_poll_control_proxy, "fast_poll_stop",
- g_variant_new("(qy)", addr16, ep), G_DBUS_CALL_FLAGS_NONE,
- -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status = 0x%02X", status);
- }
- return status;
+ g_dbus_proxy_call(zcl_poll_control_proxy, "fast_poll_stop",
+ g_variant_new("(qy)", addr16, ep), G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+
+ return ZIGBEE_ERROR_NONE;
}
static gboolean _zbl_timeout_set_long_poll_interval(gpointer p)
unsigned int new_long_poll_interval, zb_zcl_pollctrl_check_in cb, void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
+ zbl_req_cb_s *container;
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_poll_control_proxy, ZIGBEE_ERROR_IO_ERROR);
DBG("zbl_pollcontrol_set_long_poll_interval()");
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_poll_control_proxy);
sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
ZIGBEE_ZCL_POLL_CONTROL_INTERFACE, "checkin_response",
ZIGBEE_ZCL_POLL_CONTROL_OBJECT_PATH, NULL, 0,
- _zbl_set_long_poll_interval_cb, con, _zbl_request_cleanup);
+ _zbl_set_long_poll_interval_cb, container, _zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_set_long_poll_interval, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_set_long_poll_interval, container);
+ container->userdata = user_data;
g_dbus_proxy_call(zcl_poll_control_proxy, "set_long_poll_interval",
g_variant_new("(qyu)", addr16, ep, new_long_poll_interval),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
unsigned int new_short_poll_interval, zb_zcl_pollctrl_check_in cb, void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
+ zbl_req_cb_s *container;
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_poll_control_proxy, ZIGBEE_ERROR_IO_ERROR);
DBG("zbl_pollcontrol_set_short_poll_interval()");
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_poll_control_proxy);
sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
ZIGBEE_ZCL_POLL_CONTROL_INTERFACE, "checkin_response",
ZIGBEE_ZCL_POLL_CONTROL_OBJECT_PATH, NULL, 0,
- _zbl_set_long_poll_interval_cb, con, _zbl_request_cleanup);
+ _zbl_set_long_poll_interval_cb, container, _zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_set_long_poll_interval, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_set_long_poll_interval, container);
+ container->userdata = user_data;
g_dbus_proxy_call(zcl_poll_control_proxy, "set_short_poll_interval",
g_variant_new("(qyu)", addr16, ep, new_short_poll_interval),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
zb_zcl_scene_add_scene_rsp cb, void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
+ zbl_req_cb_s *container;
int j = 0;
int index = 0;
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_scene_proxy, ZIGBEE_ERROR_IO_ERROR);
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_scene_proxy);
sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
ZIGBEE_ZCL_SCENE_INTERFACE, "add_scene_rsp", ZIGBEE_ZCL_SCENE_OBJECT_PATH, NULL, 0,
- _zbl_add_scene_cb, con, _zbl_request_cleanup);
+ _zbl_add_scene_cb, container, _zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_add_scene, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_add_scene, container);
+ container->userdata = user_data;
scenename_builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
while ('\0' != scene_name[j]) {
g_dbus_proxy_call(zcl_scene_proxy, "add_scene",
g_variant_new("(qyqyqq@ay@ay)", addr16, ep, group_id, scene_id, transition_time,
ext_field_len, scenename_variant, extensionfieldSet_variant), G_DBUS_CALL_FLAGS_NONE,
- -1, NULL, NULL, NULL);
+ to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
unsigned char scene_id, zb_zcl_scene_view_scene_rsp cb, void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
+ zbl_req_cb_s *container;
DBG("zbl_scene_view_scene()");
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_scene_proxy, ZIGBEE_ERROR_IO_ERROR);
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_scene_proxy);
sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
ZIGBEE_ZCL_SCENE_INTERFACE, "view_scene_rsp", ZIGBEE_ZCL_SCENE_OBJECT_PATH, NULL, 0,
- _zbl_view_scene_cb, con, _zbl_request_cleanup);
+ _zbl_view_scene_cb, container, _zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_view_scene, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_view_scene, container);
+ container->userdata = user_data;
g_dbus_proxy_call(zcl_scene_proxy, "view_scene",
g_variant_new("(qyqy)", addr16, ep, group_id, scene_id), G_DBUS_CALL_FLAGS_NONE,
- -1, NULL, NULL, NULL);
+ to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
+ zbl_req_cb_s *container;
DBG("zbl_scene_remove_scene()");
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_scene_proxy, ZIGBEE_ERROR_IO_ERROR);
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_scene_proxy);
sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
ZIGBEE_ZCL_SCENE_INTERFACE, "remove_scene_rsp", ZIGBEE_ZCL_SCENE_OBJECT_PATH,
- NULL, 0, _zbl_remove_scene_cb, con, _zbl_request_cleanup);
+ NULL, 0, _zbl_remove_scene_cb, container, _zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_remove_scene, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_remove_scene, container);
+ container->userdata = user_data;
g_dbus_proxy_call(zcl_scene_proxy, "remove_scene",
- g_variant_new("(qyqy)", addr16, ep, group_id, scene_id), G_DBUS_CALL_FLAGS_NONE,
- -1, NULL, NULL, NULL);
-
- DBG("zbl_scene_remove_scene() - 1");
+ g_variant_new("(qyqy)", addr16, ep, group_id, scene_id),
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
unsigned short group_id, zb_zcl_scene_remove_all_scene_rsp cb, void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
+ zbl_req_cb_s *container;
DBG("zbl_scene_remove_all_scene()");
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_scene_proxy, ZIGBEE_ERROR_IO_ERROR);
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_scene_proxy);
sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
ZIGBEE_ZCL_SCENE_INTERFACE, "remove_all_scene_rsp",
- ZIGBEE_ZCL_SCENE_OBJECT_PATH, NULL, 0, _zbl_remove_all_scene_cb, con,
+ ZIGBEE_ZCL_SCENE_OBJECT_PATH, NULL, 0, _zbl_remove_all_scene_cb, container,
_zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_remove_all_scene, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_remove_all_scene, container);
+ container->userdata = user_data;
g_dbus_proxy_call(zcl_scene_proxy, "remove_all_scene",
- g_variant_new("(qyq)", addr16, ep, group_id), G_DBUS_CALL_FLAGS_NONE,
- -1, NULL, NULL, NULL);
+ g_variant_new("(qyq)", addr16, ep, group_id),
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
unsigned char scene_id, zb_zcl_scene_store_scene_rsp cb, void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
+ zbl_req_cb_s *container;
DBG("zbl_scene_store_scene()");
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_scene_proxy, ZIGBEE_ERROR_IO_ERROR);
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_scene_proxy);
sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
ZIGBEE_ZCL_SCENE_INTERFACE, "store_scene_rsp", ZIGBEE_ZCL_SCENE_OBJECT_PATH,
- NULL, 0, _zbl_scene_store_scene_cb, con, _zbl_request_cleanup);
+ NULL, 0, _zbl_scene_store_scene_cb, container, _zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_scene_store_scene, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_scene_store_scene, container);
+ container->userdata = user_data;
g_dbus_proxy_call(zcl_scene_proxy, "store_scene",
- g_variant_new("(qyqy)", addr16, ep, group_id, scene_id), G_DBUS_CALL_FLAGS_NONE,
- -1, NULL, NULL, NULL);
+ g_variant_new("(qyqy)", addr16, ep, group_id, scene_id),
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
unsigned short group_id, zb_zcl_scene_get_scene_membership_rsp cb, void *user_data)
{
int sub_id, to;
- zbl_req_cb_s *con;
+ zbl_req_cb_s *container;
DBG("zbl_scene_get_scene_membership()");
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == zcl_scene_proxy, ZIGBEE_ERROR_IO_ERROR);
- con = calloc(1, sizeof(zbl_req_cb_s));
- RETVM_IF(NULL == con, ZIGBEE_ERROR_OUT_OF_MEMORY, "calloc() Fail(%d)", errno);
+ 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(zcl_scene_proxy);
sub_id = g_dbus_connection_signal_subscribe((GDBusConnection*)gdbus_conn, NULL,
ZIGBEE_ZCL_SCENE_INTERFACE, "get_scene_membership_rsp",
- ZIGBEE_ZCL_SCENE_OBJECT_PATH, NULL, 0, _zbl_get_scene_membership_cb, con,
+ ZIGBEE_ZCL_SCENE_OBJECT_PATH, NULL, 0, _zbl_get_scene_membership_cb, container,
_zbl_request_cleanup);
if (0 == sub_id) {
ERR("g_dbus_connection_signal_subscribe() Fail");
- free(con);
+ free(container);
return ZIGBEE_ERROR_IO_ERROR;
}
- con->cb = cb;
- con->sid = sub_id;
- con->tid = g_timeout_add_seconds(to, _zbl_timeout_get_scene_membership, con);
- con->userdata = user_data;
+ container->cb = cb;
+ container->sid = sub_id;
+ container->tid = g_timeout_add_seconds(to, _zbl_timeout_get_scene_membership, container);
+ container->userdata = user_data;
g_dbus_proxy_call(zcl_scene_proxy, "get_scene_membership",
- g_variant_new("(qyq)", addr16, ep, group_id), G_DBUS_CALL_FLAGS_NONE, -1, NULL,
- NULL, NULL);
+ g_variant_new("(qyq)", addr16, ep, group_id),
+ G_DBUS_CALL_FLAGS_NONE, to, NULL, NULL, container);
return ZIGBEE_ERROR_NONE;
}
int zbl_thermostat_adjust_setpoint(nwk_addr addr16, unsigned char ep, unsigned char mode,
unsigned char amount)
{
- GVariant *variant = NULL;
- unsigned char status = ZIGBEE_ERROR_NONE;
-
RETV_IF(NULL == gdbus_conn, ZIGBEE_ERROR_IO_ERROR);
RETV_IF(NULL == thermostat_gproxy, ZIGBEE_ERROR_IO_ERROR);
- variant = g_dbus_proxy_call_sync(thermostat_gproxy, "setpoint_raise_lower",
- g_variant_new("(qyyy)", addr16, ep, mode, amount),
- G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
- if (variant) {
- g_variant_get(variant, "(y)", &status);
- DBG("Status = 0x%02X", status);
- }
- return status;
+ g_dbus_proxy_call(thermostat_gproxy, "setpoint_raise_lower",
+ g_variant_new("(qyyy)", addr16, ep, mode, amount),
+ G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL, NULL);
+
+ return ZIGBEE_ERROR_NONE;
}
int zbl_dbus_start(zigbee_h handle)
g_dbus_proxy_set_default_timeout(G_DBUS_PROXY(custom_gproxy), ZIGBEE_BROADCAST_TIMEOUT);
zbl_ref_count++;
+
return ZIGBEE_ERROR_NONE;
}