X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=zigbee-daemon%2Fzigbee-lib%2Fsrc%2Fdrivers%2Fzblib_driver_on_off.c;h=643e2bc6d8e7ba7715fa61986f41d7532d891f1e;hb=bda426ee9e3507f01d4d1657885d537f456d8267;hp=4bdfe98129eb09c0ee31a4007b078d28bebcae18;hpb=38f7f415a5657e1a2f9ed835835cf68b367b8227;p=platform%2Fcore%2Fconnectivity%2Fzigbee-manager.git diff --git a/zigbee-daemon/zigbee-lib/src/drivers/zblib_driver_on_off.c b/zigbee-daemon/zigbee-lib/src/drivers/zblib_driver_on_off.c index 4bdfe98..643e2bc 100644 --- a/zigbee-daemon/zigbee-lib/src/drivers/zblib_driver_on_off.c +++ b/zigbee-daemon/zigbee-lib/src/drivers/zblib_driver_on_off.c @@ -18,6 +18,7 @@ #include #include +#include #include "zblib_driver_on_off.h" @@ -26,13 +27,41 @@ typedef struct { ZblibDriverOnOffOps_t *ops; /**< Operations */ } ZblibDriverOnOffPrivData_t; -static gboolean __zblib_driver_on_off_dispatcher(ZigBeeDriver *driver) +static gboolean __zblib_driver_on_off_dispatcher(ZigBeeDriver *driver, guint request_id) { + ZigBeeService *service = NULL; + guint request_type; + guint ops_id; + if (NULL == driver) { Z_LOGE("driver is NULL"); return FALSE; } + service = zblib_driver_ref_service(driver); + if (NULL == service) { + Z_LOGE("service is NULL"); + return FALSE; + } + + /* Fetch request_type using request_id */ + request_type = zblib_request_ref_request_type_by_request_id(service, request_id); + + /* Fetch ops ID */ + ops_id = zblib_request_get_ops_id(request_type); + switch (ops_id) { + case ZBLIB_ON_OFF_OPS_SET_ON_OFF: { + } + break; + + case ZBLIB_ON_OFF_OPS_GET_ON_OFF_STATE: { + } + break; + + default: + break; + } + return TRUE; }