Adding service interface layer logic for request processing
[platform/core/connectivity/zigbee-manager.git] / zigbee-daemon / zigbee-lib / include / zblib_service_interface.h
index 41e0e61..985e1bc 100644 (file)
 #ifndef __ZIGBEE_LIB_SERVICE_INTERFACE_H__
 #define __ZIGBEE_LIB_SERVICE_INTERFACE_H__
 
+/**< ZigBee service interface invalid request ID */
+#define ZIGBEE_SERVICE_INTERFACE_INVALID_REQUEST_ID (-1)
+
 /**< ZigBee Service interface response callback function pointer */
-typedef gboolean (*ZblibServiceInterfaceResponseCb_t)(ZigBeeServiceInterface *service_interface,
+typedef void (*ZblibServiceInterfaceResponseCb_t)(ZigBeeServiceInterface *service_interface,
        guint request_id, gpointer resp_data, guint resp_data_len, gpointer resp_cb_data);
 
 /**< Service interface APIs */
@@ -38,9 +41,11 @@ gpointer zblib_service_interface_ref_user_data(ZigBeeServiceInterface *service_i
 ZigBeeService *zblib_service_interface_ref_service(ZigBeeServiceInterface *service_interface);
 
 gint zblib_service_interface_new_request(ZigBeeServiceInterface *service_interface,
-       guint request_type,
+       ZblibDriverType_e driver_type, guint ops_id,
        gpointer request_data, guint request_data_len,
        ZblibServiceInterfaceResponseCb_t resp_cb, gpointer resp_cb_data);
+void zblib_service_interface_free_request(ZigBeeServiceInterface *service_interface,
+       guint request_id);
 
 gboolean zblib_service_interface_dispatch_request(ZigBeeServiceInterface *service_interface,
        guint request_id);