#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 */
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);