Fixed ACR issue.
[platform/core/api/zigbee.git] / src / zbl-dbus.h
1 /*
2  * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #ifndef __TIZEN_NETWORK_ZIGBEE_LIBRARY_DBUS_H__
17 #define __TIZEN_NETWORK_ZIGBEE_LIBRARY_DBUS_H__
18
19 #include <gio/gio.h>
20
21 #include "zb-common.h"
22
23 #include "zbl.h"
24 #include "zbl-dbus.h"
25
26 int zbl_dbus_start(zb_zigbee_h handle);
27 int zbl_dbus_stop(zb_zigbee_h handle);
28 GDBusConnection* zbl_dbus_get_object(void);
29 int zbl_dbus_get_timeout(GDBusProxy *proxy);
30 int zbl_check_privilege();
31
32 int zbl_enable(zb_zigbee_h handle);
33 int zbl_set_event_cb(zb_zigbee_h handle, zb_event_cb event_handler);
34 int zbl_disable(void);
35 int zbl_hw_reset(void);
36 int zbl_coex_start(unsigned char channel);
37 int zbl_coex_stop(void);
38 int zbl_get_network_info(zb_ieee_addr addr64, zb_nwk_addr *nodeid,
39         zb_nwk_addr *panid, unsigned char *channel, unsigned char *tx_power);
40 int zbl_get_controller_mac_address(zb_ieee_addr addr64);
41 int zbl_get_cluster_list(zb_ieee_addr eui64, unsigned char endpoint,
42         unsigned char *in_cluster_count, unsigned short in_cluster_list[],
43         unsigned char *out_cluster_count, unsigned short out_cluster_list[]);
44 int zbl_get_endpoint_list(zb_ieee_addr eui64, unsigned char *count,
45         unsigned char list[]);
46 int zbl_get_all_device_info(zb_end_dev_info_h **dev_list, unsigned char* num);
47 int zbl_form_network(zb_zigbee_h handle, zb_form_network_cb cb, void *user_data);
48 int zbl_disable_network(zb_zigbee_h handle, zb_disable_network_cb cb,
49         void *user_data);
50 int zbl_leave_device(zb_ieee_addr addr64, bool remove_children, bool rejoin);
51 int zbl_permit_join(unsigned char duration, bool broadcast);
52
53 int zbl_nwk_addr_req(zb_zigbee_h handle, zb_ieee_addr addr64,
54         unsigned char request_type, unsigned char start_idx, zb_zdo_addr_cb cb,
55         void *user_data);
56 int zbl_ieee_addr_req(zb_zigbee_h handle, zb_nwk_addr addr16, zb_zdo_addr_cb cb,
57         void *user_data);
58 int zbl_active_ep(zb_zigbee_h handle, zb_nwk_addr addr16, zb_zdo_active_ep_cb cb,
59         void *user_data);
60 int zbl_simple_desc_req(zb_zigbee_h handle, zb_nwk_addr addr16, unsigned char ep,
61         zb_zdo_simple_desc_cb cb, void *user_data);
62 int zbl_match_desc_req(zb_zigbee_h handle, zb_nwk_addr addr16,
63         unsigned short profileid, unsigned char num_in_clusters,
64         unsigned short *in_clusters, unsigned char num_out_clusters,
65         unsigned short *out_clusters, zb_zdo_match_desc_cb cb, void *user_data);
66 int zbl_device_annce(zb_zigbee_h handle, zb_nwk_addr addr16, zb_ieee_addr addr64,
67         unsigned char capability);
68
69 int zbl_node_desc_req(zb_nwk_addr addr16, zb_zdo_node_desc_cb cb, void *user_data);
70 int zbl_power_desc_req(zb_nwk_addr addr16, zb_zdo_power_desc_cb cb,
71         void *user_data);
72 int zbl_complex_desc_req(zb_nwk_addr addr16, zb_zdo_complex_desc_cb cb,
73         void *user_data);
74 int zbl_user_desc_req(zb_nwk_addr addr16, zb_zdo_user_desc_cb cb, void *user_data);
75 int zbl_user_desc_set(zb_zigbee_h handle, zb_nwk_addr addr16, unsigned char len,
76         unsigned char *user_desc, zb_zdo_user_desc_conf_cb cb, void *user_data);
77 int zbl_bind_req(zb_nwk_addr dst_addr16, zb_ieee_addr src_addr64,
78         unsigned char src_ep, unsigned short clusterid, zb_ieee_addr dst_addr64,
79         unsigned char type, zb_nwk_addr group_addr, unsigned char dst_ep, zb_zdo_bind_cb cb,
80         void *user_data);
81 int zbl_unbind_req(zb_nwk_addr dst_addr16, zb_ieee_addr src_addr64,
82         unsigned char src_ep, unsigned short clusterid, zb_ieee_addr dst_addr64,
83         unsigned char type, zb_nwk_addr group_addr, unsigned char dst_ep,
84         zb_zdo_unbind_cb cb, void *user_data);
85 int zbl_mgmt_nwk_disc_req(zb_nwk_addr addr16, unsigned int scan_channels,
86         unsigned char scan_duration, unsigned char scan_count, unsigned char start_idx,
87         zb_zdo_mgmt_nwk_disc_cb cb, void *user_data);
88 int zbl_mgmt_nwk_update_req(unsigned int scan_channels,
89         unsigned char scan_duration, unsigned char scan_count, unsigned char nwk_update_id,
90         zb_nwk_addr nwk_manager_addr);
91 int zbl_mgmt_lqi_req(zb_nwk_addr addr16, unsigned char start_idx,
92         zb_zdo_mgmt_lqi_cb cb, void *user_data);
93 int zbl_mgmt_rtg_req(zb_nwk_addr addr16, unsigned char start_idx,
94         zb_zdo_mgmt_rtg_cb cb, void *user_data);
95 int zbl_mgmt_bind_req(zb_nwk_addr addr16, unsigned char start_idx,
96         zb_zdo_mgmt_bind_cb cb, void *user_data);
97 int zbl_mgmt_leave_device(zb_ieee_addr addr64, unsigned char remove_children,
98         unsigned rejoin, zb_zdo_mgmt_leave_cb cb, void *user_data);
99 int zbl_mgmt_permit_joining_req(zb_nwk_addr addr16, unsigned char duration,
100         unsigned char tc_significance, zb_zdo_mgmt_permit_joining_cb cb, void *user_data);
101
102 /* Custom Commands */
103 int zbl_aps_send(zb_nwk_addr addr16, unsigned char aps_fc,
104         unsigned char src_ep, unsigned char dst_ep, unsigned short clusterid,
105         unsigned short profileid, unsigned char zcl_fc, unsigned short mfg_code,
106         unsigned char cmd_id, unsigned short payload_len, unsigned char *payload,
107         zb_aps_send_cb cb, void *user_data);
108 int zbl_zcl_send(zb_nwk_addr addr16, unsigned char src_ep, unsigned char dst_ep,
109         unsigned short clusterid, unsigned char zcl_fc, unsigned char cmd,
110         unsigned short payload_len, unsigned char *payload,
111         zb_zcl_send_cb cb, void *user_data);
112 int zbl_send_to_local(unsigned short length, unsigned char *data,
113                 zb_send_to_local_cb cb, void *user_data);
114
115 /* ZCL Global Commands */
116 int zbl_read_attr_req(zb_zigbee_h handle, unsigned short addr16, unsigned char dest_ep,
117         unsigned char zcl_fc, unsigned short clusterid, unsigned short *attribute_ids,
118         int attribute_ids_len, zb_zcl_global_attr_read_cb cb, void *user_data);
119 int zbl_write_attr_req(zb_zigbee_h handle, zb_nwk_addr addr16, unsigned char src_ep,
120         unsigned char dst_ep, unsigned char zcl_fc, unsigned short clusterid,
121         void **records,
122         int count, zb_zcl_global_attr_write_cb cb, void *user_data);
123 int zbl_wattr_undivided_req(zb_zigbee_h handle, zb_nwk_addr addr16,
124         unsigned char src_ep, unsigned char dst_ep, unsigned char zcl_fc,
125         unsigned short clusterid, void **records, int count,
126         zb_zcl_global_attr_write_cb cb, void *user_data);
127 int zbl_wattr_req_no_cb(zb_zigbee_h handle, zb_nwk_addr addr16, unsigned char src_ep,
128         unsigned char dst_ep, unsigned char zcl_fc, unsigned short clusterid,
129         void **records, int count);
130 int zbl_write_config_report(zb_zigbee_h handle, zb_nwk_addr addr16,
131         unsigned char src_ep, unsigned char dst_ep, unsigned char zcl_fc,
132         unsigned short clusterid, void **records, int count,
133         zb_zcl_global_config_report_write_cb cb, void *user_data);
134 int zbl_read_config_report(zb_zigbee_h handle, zb_nwk_addr addr16,
135         unsigned char src_ep, unsigned char dst_ep, unsigned char zcl_fc,
136         unsigned short clusterid, void **records, int count,
137         zb_zcl_global_config_report_read_cb cb, void *user_data);
138 int zbl_discover_attr_req(zb_zigbee_h handle, unsigned short addr16,
139         unsigned char src_ep, unsigned char dest_ep, unsigned char zcl_fc,
140         unsigned short clusterid, unsigned short start_id, unsigned char max_attribute_ids,
141                 zb_zcl_global_attr_discover_cb cb, void *user_data);
142 int zbl_discover_cmds_gen(zb_zigbee_h handle, zb_nwk_addr addr16,
143         unsigned char src_ep, unsigned char dst_ep, unsigned char zcl_fc,
144         unsigned short clusterid, unsigned char start_command_id,
145         unsigned char max_command_ids, zb_zcl_global_discover_cmds_cb cb, void *user_data);
146 int zbl_discover_cmds_recv(zb_zigbee_h handle, zb_nwk_addr addr16,
147         unsigned char src_ep, unsigned char dst_ep, unsigned char zcl_fc,
148         unsigned short clusterid, unsigned char start_command_id,
149         unsigned char max_command_ids, zb_zcl_global_discover_cmds_cb cb, void *user_data);
150 int zbl_discover_attr_ext(zb_zigbee_h handle, zb_nwk_addr addr16,
151         unsigned char src_ep, unsigned char dst_ep, unsigned char zcl_fc,
152         unsigned short clusterid, unsigned short start_id, unsigned char max_attribute_ids,
153         zb_zcl_global_attr_extended_discover_cb cb, void *user_data);
154
155 /* ZCL Alarm Cluster */
156 int zbl_reset_alarm(zb_nwk_addr addr16, unsigned char ep, unsigned char alarm_code,
157         unsigned short clusterid);
158 int zbl_reset_all_alarm(zb_nwk_addr addr16, unsigned char ep);
159 int zbl_get_alarm(zb_nwk_addr addr16, unsigned char ep, zb_zcl_alarm_get_alarm_cb cb,
160         void *user_data);
161 int zbl_reset_all_alarm_log(zb_nwk_addr addr16, unsigned char ep);
162
163 /* ZCL Color Control Cluster */
164 int zbl_ccontrol_move_to_hue(zb_nwk_addr addr16, unsigned char ep,
165         unsigned char hue, unsigned char direction, unsigned short transition_time);
166 int zbl_ccontrol_move_hue(zb_nwk_addr addr16, unsigned char ep,
167         unsigned char move_mode, unsigned char rate);
168 int zbl_ccontrol_step_hue(zb_nwk_addr addr16, unsigned char ep,
169         unsigned char step_mode, unsigned char step_size, unsigned char transition_time);
170 int zbl_ccontrol_move_to_saturation(zb_nwk_addr addr16, unsigned char ep,
171         unsigned char saturation, unsigned short transition_time);
172 int zbl_ccontrol_move_saturation(zb_nwk_addr addr16, unsigned char ep,
173         unsigned char move_mode, unsigned char rate);
174 int zbl_ccontrol_step_saturation(zb_nwk_addr addr16, unsigned char ep,
175         unsigned char step_mode, unsigned char step_size, unsigned char transition_time);
176 int zbl_ccontrol_move_to_hue_and_saturation(zb_nwk_addr addr16, unsigned char ep,
177         unsigned char hue, unsigned char saturation, unsigned short transition_time);
178 int zbl_ccontrol_move_to_color(zb_nwk_addr addr16, unsigned char ep,
179         unsigned short color_x, unsigned short color_y, unsigned short transition_time);
180 int zbl_ccontrol_move_color(zb_nwk_addr addr16, unsigned char ep,
181         unsigned short rate_x, unsigned short rate_y);
182 int zbl_ccontrol_step_color(zb_nwk_addr addr16, unsigned char ep,
183         unsigned short step_x, unsigned short step_y, unsigned short transition_time);
184 int zbl_ccontrol_move_to_color_temperature(zb_nwk_addr addr16, unsigned char ep,
185         unsigned short color_temperature, unsigned short transition_time);
186
187 /* ZCL Basic Cluster */
188 int zbl_reset_factory_default(zb_nwk_addr addr16, unsigned char ep);
189
190 /* ZCL Identity Cluster */
191 int zbl_identify(zb_nwk_addr addr16, unsigned char dst_ep, unsigned short identify_time);
192 int zbl_identify_query(zb_nwk_addr addr16, unsigned char dst_ep,
193         zb_zcl_identify_query_cb cb, void *user_data);
194
195 /* ZCL Group Cluster */
196 int zbl_add_group(zb_nwk_addr addr16, unsigned char ep, unsigned short group_id,
197         const char *group_name, zb_zcl_group_add_group_cb cb, void *user_data);
198 int zbl_view_group(zb_nwk_addr addr16, unsigned char ep, unsigned short group_id,
199         zb_zcl_group_view_group_cb cb, void *user_data);
200 int zbl_group_get_group_membership(zb_nwk_addr addr16, unsigned char ep,
201         unsigned char group_count, unsigned short *group_list,
202         zb_zcl_group_get_group_membership_cb cb, void *user_data);
203 int zbl_remove_group(zb_nwk_addr addr16, unsigned char ep, unsigned short group_id,
204         zb_zcl_group_remove_group_cb cb, void *user_data);
205 int zbl_remove_all_group(zb_nwk_addr addr16, unsigned char ep);
206 int zbl_add_group_if_identifying(zb_nwk_addr addr16, unsigned char ep,
207         unsigned short group_id, const char *group_name);
208
209 /* ZCL Level Control Cluster */
210 int zbl_level_control_move_to_level(zb_nwk_addr addr16, unsigned char ep,
211         unsigned char level, unsigned short transition_time);
212 int zbl_level_control_move(zb_nwk_addr addr16, unsigned char ep,
213         unsigned char move_mode, unsigned char rate);
214 int zbl_level_control_step(zb_nwk_addr addr16, unsigned char ep,
215         unsigned char step_mode, unsigned char step_size, unsigned short transition_time);
216 int zbl_level_control_stop(zb_nwk_addr addr16, unsigned char ep);
217 int zbl_level_control_move_to_level_with_on_off(zb_nwk_addr addr16,
218         unsigned char ep, unsigned char level, unsigned short transition_time);
219 int zbl_level_control_move_with_on_off(zb_nwk_addr addr16, unsigned char ep,
220         unsigned char move_mode, unsigned char rate);
221 int zbl_level_control_step_with_on_off(zb_nwk_addr addr16, unsigned char ep,
222         unsigned char step_mode, unsigned char step_size, unsigned short transition_time);
223
224 /* ZCL On/Off Cluster */
225 int zbl_onoff_set(zb_nwk_addr addr16, unsigned char ep, unsigned char on_off_type);
226 int zbl_zone_enroll_response(zb_nwk_addr addr16, unsigned char dst_ep,
227         unsigned char enroll_response_code, unsigned char zone_id);
228
229 /* Poll-control Cluster */
230 int zbl_pollcontrol_check_in_response(zb_nwk_addr addr16, unsigned char ep,
231         unsigned char start_fast_polling, unsigned short fast_poll_timeout);
232 int zbl_pollcontrol_fast_poll_stop(zb_nwk_addr addr16, unsigned char ep);
233 int zbl_pollcontrol_set_long_poll_interval(zb_nwk_addr addr16, unsigned char ep,
234         unsigned int new_long_poll_interval, zb_zcl_pollctrl_check_in_cb cb, void *user_data);
235 int zbl_pollcontrol_set_short_poll_interval(zb_nwk_addr addr16, unsigned char ep,
236         unsigned int new_short_poll_interval, zb_zcl_pollctrl_check_in_cb cb, void *user_data);
237
238 /* Scene Cluster */
239 int zbl_add_scene(zb_nwk_addr addr16, unsigned char ep, unsigned short group_id,
240         unsigned char scene_id, unsigned short transition_time, const char *scene_name,
241         unsigned short ext_field_len, const char *extension_field_sets,
242         zb_zcl_scene_add_scene_cb cb, void *user_data);
243 int zbl_view_scene(zb_nwk_addr addr16, unsigned char ep, unsigned short group_id,
244         unsigned char scene_id, zb_zcl_scene_view_scene_cb cb, void *user_data);
245 int zbl_remove_scene(zb_nwk_addr addr16, unsigned char ep,
246         unsigned short group_id, unsigned char scene_id, zb_zcl_scene_remove_scene_cb cb,
247         void *user_data);
248 int zbl_remove_all_scene(zb_nwk_addr addr16, unsigned char ep,
249         unsigned short group_id, zb_zcl_scene_remove_all_scene_cb cb, void *user_data);
250 int zbl_store_scene(zb_nwk_addr addr16, unsigned char ep, unsigned short group_id,
251         unsigned char scene_id, zb_zcl_scene_store_scene_cb cb, void *user_data);
252 int zbl_recall_scene(zb_nwk_addr addr16, unsigned char ep, unsigned short group_id,
253         unsigned char scene_id);
254 int zbl_get_scene_membership(zb_nwk_addr addr16, unsigned char ep,
255         unsigned short group_id, zb_zcl_scene_get_scene_membership_cb cb, void *user_data);
256
257 /* Thermostat Cluster */
258 int zbl_thermostat_adjust_setpoint(zb_nwk_addr addr16, unsigned char ep,
259         unsigned char mode, unsigned char amount);
260
261 #endif /* __TIZEN_NETWORK_ZIGBEE_LIBRARY_DBUS_H__ */