* limitations under the License.
*/
-#ifndef __ZIGBEE_LIB_LEVEL_CONTROL_H__
-#define __ZIGBEE_LIB_LEVEL_CONTROL_H__
+#ifndef __ZIGBEE_LIB_DRIVER_LEVEL_CONTROL_H__
+#define __ZIGBEE_LIB_DRIVER_LEVEL_CONTROL_H__
/**< ZigBee 'level control' driver operations */
typedef struct {
- gboolean (*move_to_level)(ZigBeeDriver *driver);
- gboolean (*move)(ZigBeeDriver *driver);
- gboolean (*step)(ZigBeeDriver *driver);
- gboolean (*move_to_level_with_on_off)(ZigBeeDriver *driver);
- gboolean (*move_with_on_off)(ZigBeeDriver *driver);
- gboolean (*step_with_on_off)(ZigBeeDriver *driver);
- gboolean (*stop)(ZigBeeDriver *driver);
+ gboolean (*move_to_level)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*move)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*step)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*move_to_level_with_on_off)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*move_with_on_off)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*step_with_on_off)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*stop)(ZigBeeDriver *driver, guint request_id);
} ZblibDriverLevelControlOps_t;
+/**< ZigBee 'level control' ops IDs */
+typedef enum {
+ ZBLIB_LEVEL_CONTROL_OPS_MOVE_TO_LEVEL = 1, /**< Move to level */
+ ZBLIB_LEVEL_CONTROL_OPS_MOVE, /**< Move */
+ ZBLIB_LEVEL_CONTROL_OPS_STEP, /**< Step */
+ ZBLIB_LEVEL_CONTROL_OPS_MOVE_TO_LEVEL_WITH_ON_OFF, /**< Move to level with on off */
+ ZBLIB_LEVEL_CONTROL_OPS_MOVE_WITH_ON_OFF, /**< Move with on off */
+ ZBLIB_LEVEL_CONTROL_OPS_STEP_WITH_ON_OFF, /**< Step with on off */
+ ZBLIB_LEVEL_CONTROL_OPS_STOP, /**< Stop */
+} ZblibLevelControlOps_e;
+
/* ZigBee 'level control' driver APIs */
ZigBeeDriver *zblib_driver_level_control_new(ZigBeePlugin *plugin,
const gchar *driver_name,
ZblibDriverLevelControlOps_t *ops);
void zblib_driver_level_control_free(ZigBeeDriver *driver);
-#endif /* __ZIGBEE_LIB_LEVEL_CONTROL_H__ */
+#endif /* __ZIGBEE_LIB_DRIVER_LEVEL_CONTROL_H__ */