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_service_enable(ZigbeeService *service_object,
22 GDBusMethodInvocation *invocation,
25 ZigBeeService *service = (ZigBeeService *)user_data;
27 NOT_USED(service_object);
33 * Create and send request for processing
39 static gboolean on_service_disable(ZigbeeService *service_object,
40 GDBusMethodInvocation *invocation,
43 ZigBeeService *service = (ZigBeeService *)user_data;
45 NOT_USED(service_object);
51 * Create and send request for processing
57 static gboolean on_service_zb_hw_reset(ZigbeeService *service_object,
58 GDBusMethodInvocation *invocation,
61 ZigBeeService *service = (ZigBeeService *)user_data;
63 NOT_USED(service_object);
69 * Create and send request for processing
75 static gboolean on_service_form_network(ZigbeeService *service_object,
76 GDBusMethodInvocation *invocation,
79 ZigBeeService *service = (ZigBeeService *)user_data;
81 NOT_USED(service_object);
87 * Create and send request for processing
93 static gboolean on_service_coex_start(ZigbeeService *service_object,
94 GDBusMethodInvocation *invocation,
98 ZigBeeService *service = (ZigBeeService *)user_data;
100 NOT_USED(service_object);
101 NOT_USED(invocation);
107 * Create and send request for processing
113 static gboolean on_service_coex_stop(ZigbeeService *service_object,
114 GDBusMethodInvocation *invocation,
117 ZigBeeService *service = (ZigBeeService *)user_data;
119 NOT_USED(service_object);
120 NOT_USED(invocation);
125 * Create and send request for processing
131 static gboolean on_service_leave_network(ZigbeeService *service_object,
132 GDBusMethodInvocation *invocation,
135 ZigBeeService *service = (ZigBeeService *)user_data;
137 NOT_USED(service_object);
138 NOT_USED(invocation);
143 * Create and send request for processing
149 static gboolean on_service_get_network_info(ZigbeeService *service_object,
150 GDBusMethodInvocation *invocation,
153 ZigBeeService *service = (ZigBeeService *)user_data;
155 NOT_USED(service_object);
156 NOT_USED(invocation);
161 * Create and send request for processing
167 static gboolean on_service_permit_join(ZigbeeService *service_object,
168 GDBusMethodInvocation *invocation,
170 gboolean broadcast_mgmt_permit_join,
173 ZigBeeService *service = (ZigBeeService *)user_data;
175 NOT_USED(service_object);
176 NOT_USED(invocation);
179 NOT_USED(broadcast_mgmt_permit_join);
183 * Create and send request for processing
189 static gboolean on_service_leave_request(ZigbeeService *service_object,
190 GDBusMethodInvocation *invocation,
196 ZigBeeService *service = (ZigBeeService *)user_data;
198 NOT_USED(service_object);
199 NOT_USED(invocation);
202 NOT_USED(remove_child);
207 * Create and send request for processing
213 static gboolean on_service_get_device_list(ZigbeeService *service_object,
214 GDBusMethodInvocation *invocation,
217 ZigBeeService *service = (ZigBeeService *)user_data;
219 NOT_USED(service_object);
220 NOT_USED(invocation);
225 * Create and send request for processing
231 static gboolean on_service_get_mac(ZigbeeService *service_object,
232 GDBusMethodInvocation *invocation,
235 ZigBeeService *service = (ZigBeeService *)user_data;
237 NOT_USED(service_object);
238 NOT_USED(invocation);
243 * Create and send request for processing
249 static gboolean on_service_get_device_info(ZigbeeService *service_object,
250 GDBusMethodInvocation *invocation,
253 ZigBeeService *service = (ZigBeeService *)user_data;
255 NOT_USED(service_object);
256 NOT_USED(invocation);
261 * Create and send request for processing
267 static gboolean on_service_get_endpoint_list(ZigbeeService *service_object,
268 GDBusMethodInvocation *invocation,
272 ZigBeeService *service = (ZigBeeService *)user_data;
274 NOT_USED(service_object);
275 NOT_USED(invocation);
281 * Create and send request for processing
287 static gboolean on_service_get_cluster_list(ZigbeeService *service_object,
288 GDBusMethodInvocation *invocation,
293 ZigBeeService *service = (ZigBeeService *)user_data;
295 NOT_USED(service_object);
296 NOT_USED(invocation);
303 * Create and send request for processing
309 static gboolean on_service_get_node_type(ZigbeeService *service_object,
310 GDBusMethodInvocation *invocation,
314 ZigBeeService *service = (ZigBeeService *)user_data;
316 NOT_USED(service_object);
317 NOT_USED(invocation);
323 * Create and send request for processing
329 gboolean zigbee_service_dbus_interface_service_init(ZigBeeService *service,
330 ZigbeeObjectSkeleton *zigbee_object)
332 ZigbeeService *service_object;
334 if (NULL == service) {
335 Z_LOGE("service is NULL");
339 service_object = zigbee_service_skeleton_new();
340 zigbee_object_skeleton_set_service(zigbee_object, service_object);
341 g_object_unref(service_object);
343 Z_LOGI("service_object: [%p]", service_object);
346 * Register signal handlers for 'service' interface
348 g_signal_connect(service_object,
350 G_CALLBACK(on_service_enable), service);
352 g_signal_connect(service_object,
354 G_CALLBACK(on_service_disable), service);
356 g_signal_connect(service_object,
357 "handle-zb-hw-reset",
358 G_CALLBACK(on_service_zb_hw_reset), service);
360 g_signal_connect(service_object,
361 "handle-form-network",
362 G_CALLBACK(on_service_form_network), service);
364 g_signal_connect(service_object,
366 G_CALLBACK(on_service_coex_start), service);
368 g_signal_connect(service_object,
370 G_CALLBACK(on_service_coex_stop), service);
372 g_signal_connect(service_object,
373 "handle-leave-network",
374 G_CALLBACK(on_service_leave_network), service);
376 g_signal_connect(service_object,
377 "handle-get-network-info",
378 G_CALLBACK(on_service_get_network_info), service);
380 g_signal_connect(service_object,
381 "handle-permit-join",
382 G_CALLBACK(on_service_permit_join), service);
384 g_signal_connect(service_object,
385 "handle-leave-request",
386 G_CALLBACK(on_service_leave_request), service);
388 g_signal_connect(service_object,
389 "handle-get-device-list",
390 G_CALLBACK(on_service_get_device_list), service);
392 g_signal_connect(service_object,
394 G_CALLBACK(on_service_get_mac), service);
396 g_signal_connect(service_object,
397 "handle-get-device-info",
398 G_CALLBACK(on_service_get_device_info), service);
400 g_signal_connect(service_object,
401 "handle-get-endpoint-list",
402 G_CALLBACK(on_service_get_endpoint_list), service);
404 g_signal_connect(service_object,
405 "handle-get-cluster-list",
406 G_CALLBACK(on_service_get_cluster_list), service);
408 g_signal_connect(service_object,
409 "handle-get-node-type",
410 G_CALLBACK(on_service_get_node_type), service);