2 * Copyright (c) 2012, 2013 Samsung Electronics Co., Ltd.
4 * Licensed under the Flora License, Version 1.1 (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
8 * http://floralicense.org/license/
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.
17 #include "net_nfc_debug_internal.h"
18 #include "net_nfc_util_gdbus_internal.h"
19 #include "net_nfc_gdbus.h"
20 #include "net_nfc_client.h"
21 #include "net_nfc_client_util_internal.h"
22 #include "net_nfc_client_manager.h"
23 #include "net_nfc_client_test.h"
25 #ifndef NET_NFC_EXPORT_API
26 #define NET_NFC_EXPORT_API __attribute__((visibility("default")))
29 static void test_call_sim_test_callback(GObject *source_object,
33 static void test_call_prbs_test_callback(GObject *source_object,
37 static void test_call_get_firmware_version_callback(GObject *source_object,
41 static void test_call_set_ee_data_callback(GObject *source_object,
45 static void test_call_ese_test_callback(GObject *source_object,
49 static NetNfcGDbusTest *test_proxy = NULL;
52 static void test_call_sim_test_callback(GObject *source_object,
56 NetNfcCallback *func_data = (NetNfcCallback *)user_data;
57 net_nfc_error_e out_result;
60 g_assert(user_data != NULL);
62 if (net_nfc_gdbus_test_call_sim_test_finish(
63 NET_NFC_GDBUS_TEST(source_object),
68 DEBUG_ERR_MSG("Can not finish sim_test: %s",
70 out_result = NET_NFC_IPC_FAIL;
75 if (func_data->callback != NULL)
77 net_nfc_client_test_sim_test_completed callback =
78 (net_nfc_client_test_sim_test_completed)func_data->callback;
80 callback(out_result, func_data->user_data);
86 static void test_call_prbs_test_callback(GObject *source_object,
90 NetNfcCallback *func_data = (NetNfcCallback *)user_data;
91 net_nfc_error_e out_result;
94 g_assert(user_data != NULL);
96 if (net_nfc_gdbus_test_call_prbs_test_finish(
97 NET_NFC_GDBUS_TEST(source_object),
102 DEBUG_ERR_MSG("Can not finish prbs test: %s",
104 out_result = NET_NFC_IPC_FAIL;
109 if (func_data->callback != NULL)
111 net_nfc_client_test_prbs_test_completed callback =
112 (net_nfc_client_test_prbs_test_completed)func_data->callback;
114 callback(out_result, func_data->user_data);
120 static void test_call_get_firmware_version_callback(GObject *source_object,
124 NetNfcCallback *func_data = (NetNfcCallback *)user_data;
125 net_nfc_error_e out_result;
126 gchar *out_version = NULL;
127 GError *error = NULL;
129 g_assert(user_data != NULL);
131 if (net_nfc_gdbus_test_call_get_firmware_version_finish(
132 NET_NFC_GDBUS_TEST(source_object),
138 DEBUG_ERR_MSG("Can not finish get_firmware_version: %s",
140 out_result = NET_NFC_IPC_FAIL;
145 if (func_data->callback != NULL)
147 net_nfc_client_test_get_firmware_version_completed callback =
148 (net_nfc_client_test_get_firmware_version_completed)func_data->callback;
150 callback(out_result, out_version, func_data->user_data);
157 static void test_call_set_ee_data_callback(GObject *source_object,
161 NetNfcCallback *func_data = (NetNfcCallback *)user_data;
162 net_nfc_error_e out_result;
163 GError *error = NULL;
165 g_assert(user_data != NULL);
167 if (net_nfc_gdbus_test_call_set_ee_data_finish(
168 NET_NFC_GDBUS_TEST(source_object),
173 DEBUG_ERR_MSG("Can not finish set_ee_data: %s",
175 out_result = NET_NFC_IPC_FAIL;
180 if (func_data->callback != NULL)
182 net_nfc_client_test_set_ee_data_completed callback =
183 (net_nfc_client_test_set_ee_data_completed)func_data->callback;
185 callback(out_result, func_data->user_data);
191 static void test_call_ese_test_callback(GObject *source_object,
195 NetNfcCallback *func_data = (NetNfcCallback *)user_data;
196 net_nfc_error_e out_result;
197 GError *error = NULL;
199 g_assert(user_data != NULL);
201 if (net_nfc_gdbus_test_call_ese_test_finish(
202 NET_NFC_GDBUS_TEST(source_object),
207 DEBUG_ERR_MSG("Can not finish sim_test: %s",
209 out_result = NET_NFC_IPC_FAIL;
214 if (func_data->callback != NULL)
216 net_nfc_client_test_ese_test_completed callback =
217 (net_nfc_client_test_ese_test_completed)func_data->callback;
219 callback(out_result, func_data->user_data);
227 net_nfc_error_e net_nfc_client_test_sim_test(
228 net_nfc_client_test_sim_test_completed callback,
231 NetNfcCallback *func_data;
233 if (test_proxy == NULL)
235 if(net_nfc_client_test_init() != NET_NFC_OK)
237 DEBUG_ERR_MSG("test_proxy fail");
238 return NET_NFC_NOT_INITIALIZED;
242 /* prevent executing daemon when nfc is off */
243 if (net_nfc_client_manager_is_activated() == false) {
244 return NET_NFC_NOT_ACTIVATED;
247 func_data = g_try_new0(NetNfcCallback, 1);
248 if (func_data == NULL)
249 return NET_NFC_ALLOC_FAIL;
251 func_data->callback = (gpointer)callback;
252 func_data->user_data = user_data;
254 net_nfc_gdbus_test_call_sim_test(test_proxy,
256 test_call_sim_test_callback,
263 net_nfc_error_e net_nfc_client_test_sim_test_sync(void)
265 net_nfc_error_e out_result = NET_NFC_OK;
266 GError *error = NULL;
268 if (test_proxy == NULL)
270 if(net_nfc_client_test_init() != NET_NFC_OK)
272 DEBUG_ERR_MSG("test_proxy fail");
273 return NET_NFC_NOT_INITIALIZED;
277 /* prevent executing daemon when nfc is off */
278 if (net_nfc_client_manager_is_activated() == false) {
279 return NET_NFC_NOT_ACTIVATED;
282 if (net_nfc_gdbus_test_call_sim_test_sync(test_proxy,
287 DEBUG_ERR_MSG("can not call SimTest: %s",
289 out_result = NET_NFC_IPC_FAIL;
298 net_nfc_error_e net_nfc_client_test_prbs_test(uint32_t tech,
300 net_nfc_client_test_prbs_test_completed callback,
303 NetNfcCallback *func_data;
305 if (test_proxy == NULL)
307 if(net_nfc_client_test_init() != NET_NFC_OK)
309 DEBUG_ERR_MSG("test_proxy fail");
310 return NET_NFC_NOT_INITIALIZED;
314 /* prevent executing daemon when nfc is off */
315 if (net_nfc_client_manager_is_activated() == false) {
316 return NET_NFC_NOT_ACTIVATED;
319 func_data = g_try_new0(NetNfcCallback, 1);
320 if (func_data == NULL)
321 return NET_NFC_ALLOC_FAIL;
323 func_data->callback = (gpointer)callback;
324 func_data->user_data = user_data;
326 net_nfc_gdbus_test_call_prbs_test(test_proxy,
330 test_call_prbs_test_callback,
337 net_nfc_error_e net_nfc_client_test_prbs_test_sync(uint32_t tech,
340 net_nfc_error_e out_result = NET_NFC_OK;
341 GError *error = NULL;
343 if (test_proxy == NULL)
345 if(net_nfc_client_test_init() != NET_NFC_OK)
347 DEBUG_ERR_MSG("test_proxy fail");
348 return NET_NFC_NOT_INITIALIZED;
352 /* prevent executing daemon when nfc is off */
353 if (net_nfc_client_manager_is_activated() == false) {
354 return NET_NFC_NOT_ACTIVATED;
357 if (net_nfc_gdbus_test_call_prbs_test_sync(test_proxy,
364 DEBUG_ERR_MSG("can not call PrbsTest: %s",
366 out_result = NET_NFC_IPC_FAIL;
375 net_nfc_error_e net_nfc_client_test_get_firmware_version(
376 net_nfc_client_test_get_firmware_version_completed callback,
379 NetNfcCallback *func_data;
381 if (test_proxy == NULL)
383 if(net_nfc_client_test_init() != NET_NFC_OK)
385 DEBUG_ERR_MSG("test_proxy fail");
386 return NET_NFC_NOT_INITIALIZED;
390 /* prevent executing daemon when nfc is off */
391 if (net_nfc_client_manager_is_activated() == false) {
392 return NET_NFC_NOT_ACTIVATED;
395 func_data = g_try_new0(NetNfcCallback, 1);
396 if (func_data == NULL)
397 return NET_NFC_ALLOC_FAIL;
399 func_data->callback = (gpointer)callback;
400 func_data->user_data = user_data;
402 net_nfc_gdbus_test_call_get_firmware_version(test_proxy,
404 test_call_get_firmware_version_callback,
411 net_nfc_error_e net_nfc_client_test_get_firmware_version_sync(char **version)
413 net_nfc_error_e out_result = NET_NFC_OK;
414 gchar *out_version = NULL;
415 GError *error = NULL;
418 return NET_NFC_NULL_PARAMETER;
422 if (test_proxy == NULL)
424 if(net_nfc_client_test_init() != NET_NFC_OK)
426 DEBUG_ERR_MSG("test_proxy fail");
427 return NET_NFC_NOT_INITIALIZED;
431 /* prevent executing daemon when nfc is off */
432 if (net_nfc_client_manager_is_activated() == false) {
433 return NET_NFC_NOT_ACTIVATED;
436 if (net_nfc_gdbus_test_call_get_firmware_version_sync(test_proxy,
442 *version = out_version;
446 DEBUG_ERR_MSG("can not call Get Firmware version: %s",
448 out_result = NET_NFC_IPC_FAIL;
457 net_nfc_error_e net_nfc_client_test_set_ee_data(int mode,
460 net_nfc_client_test_set_ee_data_completed callback,
463 NetNfcCallback *func_data;
466 if (test_proxy == NULL)
468 if(net_nfc_client_test_init() != NET_NFC_OK)
470 DEBUG_ERR_MSG("test_proxy fail");
471 return NET_NFC_NOT_INITIALIZED;
475 /* prevent executing daemon when nfc is off */
476 if (net_nfc_client_manager_is_activated() == false) {
477 return NET_NFC_NOT_ACTIVATED;
480 func_data = g_try_new0(NetNfcCallback, 1);
481 if (func_data == NULL) {
482 return NET_NFC_ALLOC_FAIL;
485 func_data->callback = (gpointer)callback;
486 func_data->user_data = user_data;
488 variant = net_nfc_util_gdbus_data_to_variant((data_s *)data);
490 net_nfc_gdbus_test_call_set_ee_data(test_proxy,
495 test_call_set_ee_data_callback,
502 net_nfc_error_e net_nfc_client_test_set_ee_data_sync(int mode,
506 net_nfc_error_e out_result = NET_NFC_OK;
507 GVariant *variant = NULL;
508 GError *error = NULL;
510 if (test_proxy == NULL)
512 if(net_nfc_client_test_init() != NET_NFC_OK)
514 DEBUG_ERR_MSG("test_proxy fail");
515 return NET_NFC_NOT_INITIALIZED;
519 /* prevent executing daemon when nfc is off */
520 if (net_nfc_client_manager_is_activated() == false) {
521 return NET_NFC_NOT_ACTIVATED;
524 variant = net_nfc_util_gdbus_data_to_variant((data_s *)data);
526 if (net_nfc_gdbus_test_call_set_ee_data_sync(test_proxy,
534 DEBUG_ERR_MSG("can not call SetEeTest: %s",
536 out_result = NET_NFC_IPC_FAIL;
545 net_nfc_error_e net_nfc_client_test_ese_test(
546 net_nfc_client_test_ese_test_completed callback,
549 NetNfcCallback *func_data;
551 DEBUG_CLIENT_MSG("NFC ESE Test!!!!");
553 if (test_proxy == NULL)
555 if(net_nfc_client_test_init() != NET_NFC_OK)
557 DEBUG_ERR_MSG("test_proxy fail");
558 return NET_NFC_NOT_INITIALIZED;
562 /* prevent executing daemon when nfc is off */
563 if (net_nfc_client_manager_is_activated() == false) {
564 return NET_NFC_NOT_ACTIVATED;
567 func_data = g_try_new0(NetNfcCallback, 1);
568 if (func_data == NULL)
569 return NET_NFC_ALLOC_FAIL;
571 func_data->callback = (gpointer)callback;
572 func_data->user_data = user_data;
574 net_nfc_gdbus_test_call_ese_test(test_proxy,
576 test_call_ese_test_callback,
583 net_nfc_error_e net_nfc_client_test_ese_test_sync(void)
585 net_nfc_error_e out_result = NET_NFC_OK;
586 GError *error = NULL;
588 DEBUG_CLIENT_MSG("NFC ESE Test SYNC!!!!");
590 if (test_proxy == NULL)
592 if(net_nfc_client_test_init() != NET_NFC_OK)
594 DEBUG_ERR_MSG("test_proxy fail");
595 return NET_NFC_NOT_INITIALIZED;
599 /* prevent executing daemon when nfc is off */
600 if (net_nfc_client_manager_is_activated() == false) {
601 return NET_NFC_NOT_ACTIVATED;
604 if (net_nfc_gdbus_test_call_ese_test_sync(test_proxy,
609 DEBUG_ERR_MSG("can not call ESE Test: %s",
611 out_result = NET_NFC_IPC_FAIL;
620 net_nfc_error_e net_nfc_client_test_set_se_tech_type_sync(
621 net_nfc_se_type_e type, int tech)
623 net_nfc_error_e out_result = NET_NFC_OK;
624 GError *error = NULL;
626 if (test_proxy == NULL)
628 if(net_nfc_client_test_init() != NET_NFC_OK)
630 DEBUG_ERR_MSG("test_proxy fail");
631 return NET_NFC_NOT_INITIALIZED;
635 /* prevent executing daemon when nfc is off */
636 if (net_nfc_client_manager_is_activated() == false) {
637 return NET_NFC_NOT_ACTIVATED;
640 if (net_nfc_gdbus_test_call_set_se_tech_type_sync(test_proxy,
647 DEBUG_ERR_MSG("can not call SetSeTechType: %s",
649 out_result = NET_NFC_IPC_FAIL;
658 net_nfc_error_e net_nfc_client_test_set_listen_tech_mask_sync(uint32_t tech)
660 net_nfc_error_e result = NET_NFC_OK;
661 GError *error = NULL;
663 DEBUG_CLIENT_MSG("net_nfc_client_test_set_listen_tech_mask_sync start");
665 if (test_proxy == NULL)
667 if(net_nfc_client_test_init() != NET_NFC_OK)
669 DEBUG_ERR_MSG("test_proxy fail");
670 return NET_NFC_NOT_INITIALIZED;
674 /* prevent executing daemon when nfc is off */
675 if (net_nfc_client_manager_is_activated() == false) {
676 return NET_NFC_NOT_ACTIVATED;
679 if (net_nfc_gdbus_test_call_set_listen_tech_mask_sync(test_proxy,
685 DEBUG_ERR_MSG("can not call listen tech mask: %s",
687 result = NET_NFC_IPC_FAIL;
696 net_nfc_error_e net_nfc_client_test_init(void)
698 GError *error = NULL;
702 DEBUG_CLIENT_MSG("Already initialized");
707 test_proxy = net_nfc_gdbus_test_proxy_new_for_bus_sync(
709 G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
710 "org.tizen.NetNfcService",
711 "/org/tizen/NetNfcService/Test",
714 if (test_proxy == NULL)
716 DEBUG_ERR_MSG("Can not create proxy : %s", error->message);
719 return NET_NFC_UNKNOWN_ERROR;
725 void net_nfc_client_test_deinit(void)
729 g_object_unref(test_proxy);