Chagne DBus object name following Zigbee Specification
[platform/core/connectivity/zigbee-manager.git] / zigbee-daemon / zigbee-lib / src / zblib_request.c
index 06e6592..b1d752e 100644 (file)
 #include <zblib_service_interface.h>
 
 #include <zblib_driver.h>
-#include <zblib_driver_alarm.h>
+#include <zblib_driver_zcl_alarm.h>
 #include <zblib_driver_custom.h>
-#include <zblib_driver_door_lock.h>
-#include <zblib_driver_fan_control.h>
-#include <zblib_driver_level_control.h>
+#include <zblib_driver_zcl_door_lock.h>
+#include <zblib_driver_zcl_fan_control.h>
+#include <zblib_driver_zcl_level_control.h>
 #include <zblib_driver_mfglib_control.h>
-#include <zblib_driver_on_off.h>
+#include <zblib_driver_zcl_on_off.h>
 #include <zblib_driver_service.h>
-#include <zblib_driver_thermostat.h>
-#include <zblib_driver_zclbasic_control.h>
-#include <zblib_driver_zclglobal_control.h>
-#include <zblib_driver_zclias_control.h>
-#include <zblib_driver_zclidentify_control.h>
-#include <zblib_driver_zcl_color.h>
+#include <zblib_driver_zcl_thermostat.h>
+#include <zblib_driver_zcl_basic.h>
+#include <zblib_driver_zcl_global_control.h>
+#include <zblib_driver_zcl_ias_zone.h>
+#include <zblib_driver_zcl_identify.h>
+#include <zblib_driver_zcl_color_control.h>
 #include <zblib_driver_zcl_group.h>
 #include <zblib_driver_zcl_poll_control.h>
 #include <zblib_driver_zcl_scene.h>
-#include <zblib_driver_zdodev_control.h>
+#include <zblib_driver_zdo_dev_control.h>
 #include <zblib_driver_zdo_bind.h>
 
 /**< ZigBee Request object */
@@ -216,7 +216,6 @@ static gpointer __zblib_request_create_alarm_request_data(guint request_type,
 
                        /* Copy data */
                        memcpy(req->eui64, in_req->eui64, ZIGBEE_EUI64_SIZE);
-                       req->node_id = in_req->node_id;
                        req->endpoint = in_req->endpoint;
                        req->alarm_code = in_req->alarm_code;
                        req->cluster_id = in_req->cluster_id;
@@ -280,12 +279,12 @@ static gpointer __zblib_request_create_custom_request_data(guint request_type,
 
                        /* Copy data */
                        req->node_id = in_req->node_id;
-                       req->aps_frame_ctl = in_req->aps_frame_ctl;
+                       req->aps_frame_ctrl = in_req->aps_frame_ctrl;
                        req->src_ep = in_req->src_ep;
                        req->dest_ep = in_req->dest_ep;
                        req->cluster_id = in_req->cluster_id;
                        req->profile_id = in_req->profile_id;
-                       req->zcl_frame_ctl = in_req->zcl_frame_ctl;
+                       req->zcl_frame_ctrl = in_req->zcl_frame_ctrl;
                        req->mfg_code = in_req->mfg_code;
                        memcpy(req->payload,
                                in_req->payload, ZIGBEE_CUSTOM_SEND_PAYLOAD_LEN);
@@ -310,7 +309,7 @@ static gpointer __zblib_request_create_custom_request_data(guint request_type,
                        req->src_ep = in_req->src_ep;
                        req->dest_ep = in_req->dest_ep;
                        req->cluster_id = in_req->cluster_id;
-                       req->zcl_frame_ctl = in_req->zcl_frame_ctl;
+                       req->zcl_frame_ctrl = in_req->zcl_frame_ctrl;
                        req->cmd_id = in_req->cmd_id;
                        memcpy(req->payload,
                                in_req->payload, ZIGBEE_CUSTOM_SEND_PAYLOAD_LEN);
@@ -647,14 +646,14 @@ static gpointer __zblib_request_create_level_control_request_data(guint request_
        break;
 
        case ZBLIB_LEVEL_CONTROL_OPS_MOVE_WITH_ON_OFF: {
-               ZigbeeLevelControlMoveOnOff_t *in_req;
-               ZigbeeLevelControlMoveOnOff_t *req = NULL;
+               ZigbeeLevelControlMoveWithOnOff_t *in_req;
+               ZigbeeLevelControlMoveWithOnOff_t *req = NULL;
 
-               in_req = (ZigbeeLevelControlMoveOnOff_t *)request_data;
+               in_req = (ZigbeeLevelControlMoveWithOnOff_t *)request_data;
                if (in_req) {
                        /* Allocate memory */
-                       req = (ZigbeeLevelControlMoveOnOff_t *)
-                               g_malloc0(sizeof(ZigbeeLevelControlMoveOnOff_t));
+                       req = (ZigbeeLevelControlMoveWithOnOff_t *)
+                               g_malloc0(sizeof(ZigbeeLevelControlMoveWithOnOff_t));
 
                        /* Copy data */
                        req->node_id = in_req->node_id;
@@ -3330,9 +3329,9 @@ static void __zblib_request_free_level_control_request_data(ZigBeeRequest *reque
        break;
 
        case ZBLIB_LEVEL_CONTROL_OPS_MOVE_WITH_ON_OFF: {
-               ZigbeeLevelControlMoveOnOff_t *req = NULL;
+               ZigbeeLevelControlMoveWithOnOff_t *req = NULL;
 
-               req = (ZigbeeLevelControlMoveOnOff_t *)request->request_data;
+               req = (ZigbeeLevelControlMoveWithOnOff_t *)request->request_data;
                if (NULL != req) {
                        g_free(req);
                }
@@ -4673,6 +4672,7 @@ gint zblib_request_new(ZigBeeServiceInterface *service_interface,
                Z_LOGE("zblib_service_genrate_request_id failed!");
 
                /* Free resources */
+               __zblib_request_free_request_data(request);
                g_free(request);
 
                return ZIGBEE_REQUEST_INVALID_REQUEST_ID;
@@ -4684,6 +4684,7 @@ gint zblib_request_new(ZigBeeServiceInterface *service_interface,
                Z_LOGE("zblib_service_ref_request_hash_table failed!");
 
                /* Free resources */
+               __zblib_request_free_request_data(request);
                g_free(request);
 
                return ZIGBEE_REQUEST_INVALID_REQUEST_ID;
@@ -4823,6 +4824,21 @@ gpointer zblib_request_ref_request_data(ZigBeeRequest *request)
        return request->request_data;
 }
 
+gpointer zblib_request_ref_request_data_by_id(ZigBeeService *service,
+       guint request_id)
+{
+       ZigBeeRequest *request = NULL;
+
+       /* Fetch request based on request_id */
+       request = __zblib_request_ref_request_by_by_request_id(service, request_id);
+       if (NULL == request) {
+               Z_LOGE("No request available for request_id: [%d]", request_id);
+               return NULL;
+       }
+
+       return request->request_data;
+}
+
 guint zblib_request_generate_request_type(ZblibDriverType_e driver_type,
        guint ops_id)
 {