2 * Copyright (c) 2016 Samsung Electronics Co., Ltd. All rights reserved.
4 * Contact: Suresh Kumar N (suresh.n@samsung.com)
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
19 #ifndef __ZIGBEE_LIB_DRIVER_ZCL_LEVEL_CONTROL_H__
20 #define __ZIGBEE_LIB_DRIVER_ZCL_LEVEL_CONTROL_H__
22 /**< ZigBee 'ZCL level control' driver operations */
24 gboolean (*move_to_level)(ZigBeeDriver *driver, guint request_id);
25 gboolean (*move)(ZigBeeDriver *driver, guint request_id);
26 gboolean (*step)(ZigBeeDriver *driver, guint request_id);
27 gboolean (*move_to_level_with_on_off)(ZigBeeDriver *driver, guint request_id);
28 gboolean (*move_with_on_off)(ZigBeeDriver *driver, guint request_id);
29 gboolean (*step_with_on_off)(ZigBeeDriver *driver, guint request_id);
30 gboolean (*stop)(ZigBeeDriver *driver, guint request_id);
31 } ZblibDriverZclLevelControlOps_t;
33 /**< ZigBee 'ZCL level control' ops IDs */
35 ZBLIB_ZCL_LEVEL_CONTROL_OPS_MOVE_TO_LEVEL = 1, /**< Move to level */
36 ZBLIB_ZCL_LEVEL_CONTROL_OPS_MOVE, /**< Move */
37 ZBLIB_ZCL_LEVEL_CONTROL_OPS_STEP, /**< Step */
38 ZBLIB_ZCL_LEVEL_CONTROL_OPS_MOVE_TO_LEVEL_WITH_ON_OFF, /**< Move to level with on off */
39 ZBLIB_ZCL_LEVEL_CONTROL_OPS_MOVE_WITH_ON_OFF, /**< Move with on off */
40 ZBLIB_ZCL_LEVEL_CONTROL_OPS_STEP_WITH_ON_OFF, /**< Step with on off */
41 ZBLIB_ZCL_LEVEL_CONTROL_OPS_STOP, /**< Stop */
42 } ZblibZclLevelControlOps_e;
44 /* ZigBee 'ZCL level control' driver APIs */
45 ZigBeeDriver *zblib_driver_zcl_level_control_new(ZigBeePlugin *plugin,
46 const gchar *driver_name,
47 ZblibDriverZclLevelControlOps_t *ops);
48 void zblib_driver_zcl_level_control_free(ZigBeeDriver *driver);
50 #endif /* __ZIGBEE_LIB_DRIVER_ZCL_LEVEL_CONTROL_H__ */