INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_SOURCE_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}/zigbee-lib/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/zigbee-lib/include_internal
${CMAKE_SOURCE_DIR}/common/include
${CMAKE_CURRENT_SOURCE_DIR}/zigbee-service/include
${CMAKE_CURRENT_SOURCE_DIR}/zigbee-interface/include
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/src
${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/include_internal
)
MESSAGE(${CMAKE_C_FLAGS})
ZblibDriverType_e zblib_driver_ref_driver_type(ZigBeeDriver *driver);
+gpointer zblib_driver_ref_request_data(ZigBeeDriver *driver,
+ guint request_id);
+
gboolean zblib_driver_dispatch_request(ZigBeeDriver *driver, guint request_id);
void zblib_driver_send_response(ZigBeeDriver *driver,
ZigBeeServiceInterface *zblib_request_ref_service_interface(ZigBeeService *service,
guint request_id);
gpointer zblib_request_ref_request_data(ZigBeeRequest *request);
+gpointer zblib_request_ref_request_data_by_id(ZigBeeService *service,
+ guint request_id);
guint zblib_request_generate_request_type(ZblibDriverType_e driver_type,
guint ops_id);
#include <zblib_driver.h>
#include <zblib_plugin.h>
#include <zblib_service.h>
+#include <zblib_request.h>
/**< ZigBee driver object */
struct zblib_driver_type {
return driver->driver_type;
}
+gpointer zblib_driver_ref_request_data(ZigBeeDriver *driver,
+ guint request_id)
+{
+ ZigBeeService *service = NULL;
+
+ zblib_check_null_ret_error("driver", driver, NULL);
+
+ service = driver->service;
+ zblib_check_null_ret_error("service", service, NULL);
+
+ /* Fetch request data */
+ return zblib_request_ref_request_data_by_id(service,
+ request_id);
+}
+
gboolean zblib_driver_dispatch_request(ZigBeeDriver *driver,
guint request_id)
{
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)
{