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_mfglib_control_start(ZigbeeMfglib_control *mfglib_control_object,
22 GDBusMethodInvocation *invocation,
24 gboolean mfglib_start,
27 ZigBeeService *service = (ZigBeeService *)user_data;
29 NOT_USED(mfglib_control_object);
33 NOT_USED(mfglib_start);
37 * Create and send request for processing
43 static gboolean on_mfglib_control_end(ZigbeeMfglib_control *mfglib_control_object,
44 GDBusMethodInvocation *invocation,
48 ZigBeeService *service = (ZigBeeService *)user_data;
50 NOT_USED(mfglib_control_object);
57 * Create and send request for processing
63 static gboolean on_mfglib_control_start_tone(ZigbeeMfglib_control *mfglib_control_object,
64 GDBusMethodInvocation *invocation,
68 ZigBeeService *service = (ZigBeeService *)user_data;
70 NOT_USED(mfglib_control_object);
77 * Create and send request for processing
83 static gboolean on_mfglib_control_stop_tone(ZigbeeMfglib_control *mfglib_control_object,
84 GDBusMethodInvocation *invocation,
88 ZigBeeService *service = (ZigBeeService *)user_data;
90 NOT_USED(mfglib_control_object);
97 * Create and send request for processing
103 static gboolean on_mfglib_control_start_stream(ZigbeeMfglib_control *mfglib_control_object,
104 GDBusMethodInvocation *invocation,
108 ZigBeeService *service = (ZigBeeService *)user_data;
110 NOT_USED(mfglib_control_object);
111 NOT_USED(invocation);
117 * Create and send request for processing
123 static gboolean on_mfglib_control_stop_stream(ZigbeeMfglib_control *mfglib_control_object,
124 GDBusMethodInvocation *invocation,
128 ZigBeeService *service = (ZigBeeService *)user_data;
130 NOT_USED(mfglib_control_object);
131 NOT_USED(invocation);
137 * Create and send request for processing
143 static gboolean on_mfglib_control_send_packet(ZigbeeMfglib_control *mfglib_control_object,
144 GDBusMethodInvocation *invocation,
145 GVariant *packet_content,
149 ZigBeeService *service = (ZigBeeService *)user_data;
151 NOT_USED(mfglib_control_object);
152 NOT_USED(invocation);
154 NOT_USED(packet_content);
155 NOT_USED(packet_length);
159 * Create and send request for processing
165 static gboolean on_mfglib_control_set_channel(ZigbeeMfglib_control *mfglib_control_object,
166 GDBusMethodInvocation *invocation,
171 ZigBeeService *service = (ZigBeeService *)user_data;
173 NOT_USED(mfglib_control_object);
174 NOT_USED(invocation);
181 * Create and send request for processing
187 static gboolean on_mfglib_control_get_channel(ZigbeeMfglib_control *mfglib_control_object,
188 GDBusMethodInvocation *invocation,
192 ZigBeeService *service = (ZigBeeService *)user_data;
194 NOT_USED(mfglib_control_object);
195 NOT_USED(invocation);
201 * Create and send request for processing
207 static gboolean on_mfglib_control_set_power(ZigbeeMfglib_control *mfglib_control_object,
208 GDBusMethodInvocation *invocation,
210 gshort tx_power_mode,
214 ZigBeeService *service = (ZigBeeService *)user_data;
216 NOT_USED(mfglib_control_object);
217 NOT_USED(invocation);
220 NOT_USED(tx_power_mode);
225 * Create and send request for processing
231 static gboolean on_mfglib_control_get_power(ZigbeeMfglib_control *mfglib_control_object,
232 GDBusMethodInvocation *invocation,
236 ZigBeeService *service = (ZigBeeService *)user_data;
238 NOT_USED(mfglib_control_object);
239 NOT_USED(invocation);
245 * Create and send request for processing
251 static gboolean on_mfglib_control_set_synoffset(ZigbeeMfglib_control *mfglib_control_object,
252 GDBusMethodInvocation *invocation,
257 ZigBeeService *service = (ZigBeeService *)user_data;
259 NOT_USED(mfglib_control_object);
260 NOT_USED(invocation);
263 NOT_USED(test_channel);
267 * Create and send request for processing
273 static gboolean on_mfglib_control_get_synoffset(ZigbeeMfglib_control *mfglib_control_object,
274 GDBusMethodInvocation *invocation,
281 ZigBeeService *service = (ZigBeeService *)user_data;
283 NOT_USED(mfglib_control_object);
284 NOT_USED(invocation);
287 NOT_USED(packet_length);
288 NOT_USED(link_quality);
293 * Create and send request for processing
299 static gboolean on_mfglib_control_rx_start(ZigbeeMfglib_control *mfglib_control_object,
300 GDBusMethodInvocation *invocation,
304 ZigBeeService *service = (ZigBeeService *)user_data;
306 NOT_USED(mfglib_control_object);
307 NOT_USED(invocation);
313 * Create and send request for processing
319 static gboolean on_mfglib_control_rx_stop(ZigbeeMfglib_control *mfglib_control_object,
320 GDBusMethodInvocation *invocation,
324 ZigBeeService *service = (ZigBeeService *)user_data;
326 NOT_USED(mfglib_control_object);
327 NOT_USED(invocation);
333 * Create and send request for processing
339 static gboolean on_mfglib_control_rx_verify(ZigbeeMfglib_control *mfglib_control_object,
340 GDBusMethodInvocation *invocation,
344 ZigBeeService *service = (ZigBeeService *)user_data;
346 NOT_USED(mfglib_control_object);
347 NOT_USED(invocation);
353 * Create and send request for processing
359 static gboolean on_mfglib_control_get_rssi(ZigbeeMfglib_control *mfglib_control_object,
360 GDBusMethodInvocation *invocation,
364 ZigBeeService *service = (ZigBeeService *)user_data;
366 NOT_USED(mfglib_control_object);
367 NOT_USED(invocation);
373 * Create and send request for processing
379 gboolean zigbee_service_dbus_interface_mfglib_control_init(ZigBeeService *service,
380 ZigbeeObjectSkeleton *zigbee_object)
382 ZigbeeMfglib_control *mfglib_control_object;
384 if (NULL == service) {
385 Z_LOGE("service is NULL");
389 mfglib_control_object = zigbee_mfglib_control_skeleton_new();
390 zigbee_object_skeleton_set_mfglib_control(zigbee_object, mfglib_control_object);
391 g_object_unref(mfglib_control_object);
393 Z_LOGI("mfglib_control_object: [%p]", mfglib_control_object);
396 * Register signal handlers for 'mfglib_control' interface
398 g_signal_connect(mfglib_control_object,
400 G_CALLBACK(on_mfglib_control_start), service);
402 g_signal_connect(mfglib_control_object,
404 G_CALLBACK(on_mfglib_control_end), service);
406 g_signal_connect(mfglib_control_object,
408 G_CALLBACK(on_mfglib_control_start_tone), service);
410 g_signal_connect(mfglib_control_object,
412 G_CALLBACK(on_mfglib_control_stop_tone), service);
414 g_signal_connect(mfglib_control_object,
415 "handle-start-stream",
416 G_CALLBACK(on_mfglib_control_start_stream), service);
418 g_signal_connect(mfglib_control_object,
419 "handle-stop-stream",
420 G_CALLBACK(on_mfglib_control_stop_stream), service);
422 g_signal_connect(mfglib_control_object,
423 "handle-send-packet",
424 G_CALLBACK(on_mfglib_control_send_packet), service);
426 g_signal_connect(mfglib_control_object,
427 "handle-set-channel",
428 G_CALLBACK(on_mfglib_control_set_channel), service);
430 g_signal_connect(mfglib_control_object,
431 "handle-get-channel",
432 G_CALLBACK(on_mfglib_control_get_channel), service);
434 g_signal_connect(mfglib_control_object,
436 G_CALLBACK(on_mfglib_control_set_power), service);
438 g_signal_connect(mfglib_control_object,
440 G_CALLBACK(on_mfglib_control_get_power), service);
442 g_signal_connect(mfglib_control_object,
443 "handle-set-synoffset",
444 G_CALLBACK(on_mfglib_control_set_synoffset), service);
446 g_signal_connect(mfglib_control_object,
447 "handle-get-synoffset",
448 G_CALLBACK(on_mfglib_control_get_synoffset), service);
450 g_signal_connect(mfglib_control_object,
452 G_CALLBACK(on_mfglib_control_rx_start), service);
454 g_signal_connect(mfglib_control_object,
456 G_CALLBACK(on_mfglib_control_rx_stop), service);
458 g_signal_connect(mfglib_control_object,
460 G_CALLBACK(on_mfglib_control_rx_verify), service);
462 g_signal_connect(mfglib_control_object,
464 G_CALLBACK(on_mfglib_control_get_rssi), service);