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 #include "zigbee_service_interface_common.h"
21 static gboolean on_zclglobal_control_read_attributes_req(ZigbeeZclglobal_control *zclglobal_control_object,
22 GDBusMethodInvocation *invocation,
23 GVariant *attribute_id,
24 gint attribute_ids_length,
31 ZigBeeService *service = (ZigBeeService *)user_data;
33 NOT_USED(zclglobal_control_object);
36 NOT_USED(attribute_id);
37 NOT_USED(attribute_ids_length);
40 NOT_USED(zcl_frame_ctrl);
45 * Create and send request for processing
51 static gboolean on_zclglobal_control_write_attributes_req(ZigbeeZclglobal_control *zclglobal_control_object,
52 GDBusMethodInvocation *invocation,
53 GVariant *write_attribute,
61 ZigBeeService *service = (ZigBeeService *)user_data;
63 NOT_USED(zclglobal_control_object);
66 NOT_USED(write_attribute);
67 NOT_USED(records_length);
70 NOT_USED(zcl_frame_ctrl);
75 * Create and send request for processing
81 static gboolean on_zclglobal_control_write_attributes_undivided_req(ZigbeeZclglobal_control *zclglobal_control_object,
82 GDBusMethodInvocation *invocation,
83 GVariant *write_attribute,
92 ZigBeeService *service = (ZigBeeService *)user_data;
94 NOT_USED(zclglobal_control_object);
97 NOT_USED(write_attribute);
98 NOT_USED(records_length);
100 NOT_USED(cluster_id);
101 NOT_USED(zcl_frame_ctrl);
107 * Create and send request for processing
113 static gboolean on_zclglobal_control_write_attributes_no_resp(ZigbeeZclglobal_control *zclglobal_control_object,
114 GDBusMethodInvocation *invocation,
115 GVariant *write_attribute,
119 gchar zcl_frame_ctrl,
124 ZigBeeService *service = (ZigBeeService *)user_data;
126 NOT_USED(zclglobal_control_object);
127 NOT_USED(invocation);
129 NOT_USED(write_attribute);
130 NOT_USED(records_length);
132 NOT_USED(cluster_id);
133 NOT_USED(zcl_frame_ctrl);
139 * Create and send request for processing
145 static gboolean on_zclglobal_control_write_attributes_structured(ZigbeeZclglobal_control *zclglobal_control_object,
146 GDBusMethodInvocation *invocation,
147 GVariant *write_attribute,
151 gchar zcl_frame_ctrl,
156 ZigBeeService *service = (ZigBeeService *)user_data;
158 NOT_USED(zclglobal_control_object);
159 NOT_USED(invocation);
161 NOT_USED(write_attribute);
162 NOT_USED(records_length);
164 NOT_USED(cluster_id);
165 NOT_USED(zcl_frame_ctrl);
171 * Create and send request for processing
177 static gboolean on_zclglobal_control_read_attributes_structured(ZigbeeZclglobal_control *zclglobal_control_object,
178 GDBusMethodInvocation *invocation,
179 GVariant *read_attribute,
183 gchar zcl_frame_ctrl,
188 ZigBeeService *service = (ZigBeeService *)user_data;
190 NOT_USED(zclglobal_control_object);
191 NOT_USED(invocation);
193 NOT_USED(read_attribute);
194 NOT_USED(records_length);
196 NOT_USED(cluster_id);
197 NOT_USED(zcl_frame_ctrl);
203 * Create and send request for processing
209 static gboolean on_zclglobal_control_configure_reporting_req(ZigbeeZclglobal_control *zclglobal_control_object,
210 GDBusMethodInvocation *invocation,
211 GVariant *read_attribute,
215 gchar zcl_frame_ctrl,
220 ZigBeeService *service = (ZigBeeService *)user_data;
222 NOT_USED(zclglobal_control_object);
223 NOT_USED(invocation);
225 NOT_USED(read_attribute);
226 NOT_USED(records_length);
228 NOT_USED(cluster_id);
229 NOT_USED(zcl_frame_ctrl);
235 * Create and send request for processing
241 static gboolean on_zclglobal_control_read_configure_reporting(ZigbeeZclglobal_control *zclglobal_control_object,
242 GDBusMethodInvocation *invocation,
243 GVariant *read_attribute,
247 gchar zcl_frame_ctrl,
252 ZigBeeService *service = (ZigBeeService *)user_data;
254 NOT_USED(zclglobal_control_object);
255 NOT_USED(invocation);
257 NOT_USED(read_attribute);
258 NOT_USED(records_length);
260 NOT_USED(cluster_id);
261 NOT_USED(zcl_frame_ctrl);
267 * Create and send request for processing
273 static gboolean on_zclglobal_control_discover_attributes(ZigbeeZclglobal_control *zclglobal_control_object,
274 GDBusMethodInvocation *invocation,
277 gchar zcl_frame_ctrl,
283 ZigBeeService *service = (ZigBeeService *)user_data;
285 NOT_USED(zclglobal_control_object);
286 NOT_USED(invocation);
290 NOT_USED(zcl_frame_ctrl);
291 NOT_USED(cluster_id);
292 NOT_USED(start_attr);
297 * Create and send request for processing
303 static gboolean on_zclglobal_control_discover_attributes_extended(ZigbeeZclglobal_control *zclglobal_control_object,
304 GDBusMethodInvocation *invocation,
307 gchar zcl_frame_ctrl,
313 ZigBeeService *service = (ZigBeeService *)user_data;
315 NOT_USED(zclglobal_control_object);
316 NOT_USED(invocation);
320 NOT_USED(zcl_frame_ctrl);
321 NOT_USED(cluster_id);
322 NOT_USED(start_attr);
327 * Create and send request for processing
333 static gboolean on_zclglobal_control_discover_commands_received(ZigbeeZclglobal_control *zclglobal_control_object,
334 GDBusMethodInvocation *invocation,
337 gchar zcl_frame_ctrl,
343 ZigBeeService *service = (ZigBeeService *)user_data;
345 NOT_USED(zclglobal_control_object);
346 NOT_USED(invocation);
350 NOT_USED(zcl_frame_ctrl);
351 NOT_USED(cluster_id);
352 NOT_USED(start_attr);
357 * Create and send request for processing
363 static gboolean on_zclglobal_control_discover_commands_generated(ZigbeeZclglobal_control *zclglobal_control_object,
364 GDBusMethodInvocation *invocation,
367 gchar zcl_frame_ctrl,
373 ZigBeeService *service = (ZigBeeService *)user_data;
375 NOT_USED(zclglobal_control_object);
376 NOT_USED(invocation);
380 NOT_USED(zcl_frame_ctrl);
381 NOT_USED(cluster_id);
382 NOT_USED(start_attr);
387 * Create and send request for processing
393 gboolean zigbee_service_dbus_interface_zclglobal_control_init(ZigBeeService *service,
394 ZigbeeObjectSkeleton *zigbee_object)
396 ZigbeeZclglobal_control *zclglobal_control_object;
398 if (NULL == service) {
399 Z_LOGE("service is NULL");
403 zclglobal_control_object = zigbee_zclglobal_control_skeleton_new();
404 zigbee_object_skeleton_set_zclglobal_control(zigbee_object, zclglobal_control_object);
405 g_object_unref(zclglobal_control_object);
407 Z_LOGI("zclglobal_control_object: [%p]", zclglobal_control_object);
410 * Register signal handlers for 'zclglobal_control' interface
412 g_signal_connect(zclglobal_control_object,
413 "handle-read-attributes-req",
414 G_CALLBACK(on_zclglobal_control_read_attributes_req), service);
416 g_signal_connect(zclglobal_control_object,
417 "handle-write-attributes-req",
418 G_CALLBACK(on_zclglobal_control_write_attributes_req), service);
420 g_signal_connect(zclglobal_control_object,
421 "handle-write-attributes-undivided-req",
422 G_CALLBACK(on_zclglobal_control_write_attributes_undivided_req), service);
424 g_signal_connect(zclglobal_control_object,
425 "handle-write-attributes-no-resp",
426 G_CALLBACK(on_zclglobal_control_write_attributes_no_resp), service);
428 g_signal_connect(zclglobal_control_object,
429 "handle-write-attributes-structured",
430 G_CALLBACK(on_zclglobal_control_write_attributes_structured), service);
432 g_signal_connect(zclglobal_control_object,
433 "handle-read-attributes-structured",
434 G_CALLBACK(on_zclglobal_control_read_attributes_structured), service);
436 g_signal_connect(zclglobal_control_object,
437 "handle-configure-reporting-req",
438 G_CALLBACK(on_zclglobal_control_configure_reporting_req), service);
440 g_signal_connect(zclglobal_control_object,
441 "handle-read-configure-reporting",
442 G_CALLBACK(on_zclglobal_control_read_configure_reporting), service);
444 g_signal_connect(zclglobal_control_object,
445 "handle-discover-attributes",
446 G_CALLBACK(on_zclglobal_control_discover_attributes), service);
448 g_signal_connect(zclglobal_control_object,
449 "handle-discover-attributes-extended",
450 G_CALLBACK(on_zclglobal_control_discover_attributes_extended), service);
452 g_signal_connect(zclglobal_control_object,
453 "handle-discover-commands-received",
454 G_CALLBACK(on_zclglobal_control_discover_commands_received), service);
456 g_signal_connect(zclglobal_control_object,
457 "handle-discover-commands-generated",
458 G_CALLBACK(on_zclglobal_control_discover_commands_generated), service);