Sync with latest tizen branch 73/288073/1 accepted/tizen_7.0_unified tizen_7.0 accepted/tizen/7.0/unified/20230213.171722
authorJihoon Jung <jh8801.jung@samsung.com>
Fri, 10 Feb 2023 06:25:35 +0000 (15:25 +0900)
committerJihoon Jung <jh8801.jung@samsung.com>
Fri, 10 Feb 2023 06:26:21 +0000 (15:26 +0900)
Change-Id: I8275c15ff8a763ccc48055a1f8248c4e54b9917d
Signed-off-by: Jihoon Jung <jh8801.jung@samsung.com>
21 files changed:
include/net_nfc_client_tag_internal.h [changed mode: 0755->0644]
include/net_nfc_client_test.h [changed mode: 0755->0644]
include/nfc_internal.h [changed mode: 0755->0644]
packaging/capi-network-nfc.spec
src/net_nfc_client_handover.c [changed mode: 0755->0644]
src/net_nfc_client_hce.c [changed mode: 0755->0644]
src/net_nfc_client_llcp.c [changed mode: 0755->0644]
src/net_nfc_client_manager.c [changed mode: 0755->0644]
src/net_nfc_client_ndef.c [changed mode: 0755->0644]
src/net_nfc_client_p2p.c [changed mode: 0755->0644]
src/net_nfc_client_se.c [changed mode: 0755->0644]
src/net_nfc_client_snep.c [changed mode: 0755->0644]
src/net_nfc_client_system_handler.c [changed mode: 0755->0644]
src/net_nfc_client_tag.c [changed mode: 0755->0644]
src/net_nfc_client_tag_felica.c [changed mode: 0755->0644]
src/net_nfc_client_tag_jewel.c [changed mode: 0755->0644]
src/net_nfc_client_test.c [changed mode: 0755->0644]
src/net_nfc_client_transceive.c [changed mode: 0755->0644]
src/nfc_manager.c
src/nfc_tag.c [changed mode: 0755->0644]
test/nfc_unit_test.c [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index 28d76d3..680fb40
@@ -28,6 +28,10 @@ gboolean net_nfc_client_tag_is_connected(void);
 
 net_nfc_target_info_s *net_nfc_client_tag_get_client_target_info(void);
 
+net_nfc_error_e net_nfc_get_target_info_from_device_type(net_nfc_target_handle_h handle, net_nfc_target_type_e device_type, net_nfc_target_info_s** target_info);
+
+net_nfc_error_e net_nfc_get_tag_info_value_from_key(net_nfc_target_info_s* target_info, const char* key, int valid_length, data_h* data);
+
 #ifdef __cplusplus
 }
 #endif
old mode 100755 (executable)
new mode 100644 (file)
index 3ec6e4a..89f698c
@@ -42,6 +42,10 @@ typedef void (*net_nfc_client_test_ese_test_completed)(net_nfc_error_e result,
                                                        void *user_data);
 
 
+net_nfc_error_e net_nfc_client_test_test_mode_on_sync(void);
+
+net_nfc_error_e net_nfc_client_test_test_mode_off_sync(void);
+
 net_nfc_error_e net_nfc_client_test_sim_test(
                        net_nfc_client_test_sim_test_completed callback,
                        void *user_data);
old mode 100755 (executable)
new mode 100644 (file)
index 6ceb15e..206efe6
@@ -581,6 +581,10 @@ int nfc_se_foreach_registered_handlers(nfc_card_emulation_category_type_e catego
 
 int nfc_manager_configure_discovery(int mode);
 
+int nfc_manager_test_mode_on();
+
+int nfc_manager_test_mode_off();
+
 #ifdef __cplusplus
 }
 #endif
index 064dee85de085c184b7d60f15fa8ed2ae8a0daaa..62273eb02582709ffb6da9ddf97061fe88250ad5 100644 (file)
@@ -35,15 +35,6 @@ Requires: %{name} = %{version}-%{release}
 %description devel
 This package contains the development files for %{name}.
 
-%if 0%{?gcov:1}
-%package gcov
-Summary:    A NFC gcov Tool
-Group:      Network & Connectivity/Development
-
-%description gcov
-NFC gcov objects
-%endif
-
 %prep
 %setup -q
 
@@ -73,11 +64,6 @@ rm -rf %{buildroot}
 
 %make_install
 
-%if 0%{?gcov:1}
-mkdir -p %{buildroot}%{_datadir}/gcov/obj
-install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
-%endif
-
 %check
 %if 0%{?gcov:1}
 pushd unittest
@@ -100,8 +86,3 @@ popd
 %{_libdir}/pkgconfig/*.pc
 %{_libdir}/libcapi-network-nfc.so
 %{_bindir}/nfc_unit_test
-
-%if 0%{?gcov:1}
-%files gcov
-%{_datadir}/gcov/obj/*
-%endif
old mode 100755 (executable)
new mode 100644 (file)
index aa80b67..370a709
@@ -321,7 +321,7 @@ net_nfc_error_e net_nfc_client_handover_init(void)
 
        handover_proxy = net_nfc_gdbus_handover_proxy_new_for_bus_sync(
                                        G_BUS_TYPE_SYSTEM,
-                                       G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
+                                       G_DBUS_PROXY_FLAGS_NONE,
                                        "org.tizen.NetNfcService",
                                        "/org/tizen/NetNfcService/Handover",
                                        NULL,
old mode 100755 (executable)
new mode 100644 (file)
index aca6a7e..7cbc817
@@ -257,7 +257,7 @@ net_nfc_error_e net_nfc_client_hce_init(void)
 
        hce_proxy = net_nfc_gdbus_hce_proxy_new_for_bus_sync(
                                G_BUS_TYPE_SYSTEM,
-                               G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
+                               G_DBUS_PROXY_FLAGS_NONE,
                                "org.tizen.NetNfcService",
                                "/org/tizen/NetNfcService/Hce",
                                NULL,
old mode 100755 (executable)
new mode 100644 (file)
index 4eded74..7c75f7f
 
 /* LCOV_EXCL_START */
 
+#define CHECK_INITIALIZED() \
+               do { \
+                       /* LCOV_EXCL_START */ \
+                       if (llcp_proxy == NULL) { \
+                               if (net_nfc_client_llcp_init() != NET_NFC_OK) { \
+                                       DEBUG_ERR_MSG("llcp_proxy fail"); \
+                                       return NET_NFC_NOT_INITIALIZED; \
+                               } \
+                       } \
+                       \
+                       if (net_nfc_client_manager_is_activated() == false) \
+                               return NET_NFC_NOT_ACTIVATED; \
+                       /* LCOV_EXCL_STOP */ \
+               } while (0)
+
 typedef struct _LlcpFuncData LlcpFuncData;
 
 struct _LlcpFuncData {
@@ -104,6 +119,23 @@ static void llcp_incoming(NetNfcGDbusLlcp *object,
        guint incoming_socket,
        gpointer user_data);
 
+static LlcpFuncData* _create_func_data(void *callback, void *user_data)
+{
+       LlcpFuncData* func_data = NULL;
+
+       func_data = g_new0(LlcpFuncData, 1);
+       if (func_data == NULL) {
+               DEBUG_ERR_MSG("g_new0 failed");
+
+               return NULL;
+       }
+
+       func_data->callback = (gpointer)callback;
+       func_data->user_data = user_data;
+
+       return func_data;
+}
+
 void llcp_socket_data_append(net_nfc_llcp_internal_socket_s *socket_data)
 {
        if (socket_data_list == NULL)
@@ -660,26 +692,9 @@ net_nfc_error_e net_nfc_client_llcp_config(net_nfc_llcp_config_info_h config,
        if (config == NULL)
                return NET_NFC_NULL_PARAMETER;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
-
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
-       func_data = g_new0(LlcpFuncData, 1);
-       if (func_data == NULL) {
-               DEBUG_ERR_MSG("g_new0 failed");
-
-               return NET_NFC_ALLOC_FAIL;
-       }
+       CHECK_INITIALIZED();
 
-       func_data->callback = (gpointer)callback;
-       func_data->user_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        memcpy(&llcp_config, config, sizeof(net_nfc_llcp_config_info_s));
 
@@ -706,16 +721,7 @@ net_nfc_error_e net_nfc_client_llcp_config_sync
        GVariant *variant = NULL;
        GError *error = NULL;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
-
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
+       CHECK_INITIALIZED();
 
        memcpy(&llcp_config, config, sizeof(net_nfc_llcp_config_info_s));
 
@@ -763,12 +769,7 @@ net_nfc_error_e net_nfc_client_llcp_listen(net_nfc_llcp_socket_t socket,
        LlcpFuncData *func_data;
        net_nfc_llcp_internal_socket_s *socket_data = NULL;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -780,19 +781,7 @@ net_nfc_error_e net_nfc_client_llcp_listen(net_nfc_llcp_socket_t socket,
        socket_data->service_name = (uint8_t *)g_strdup(service_name);
        socket_data->sap = sap;
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
-       func_data = g_new0(LlcpFuncData, 1);
-       if (func_data == NULL) {
-               DEBUG_ERR_MSG("g_new0 failed");
-
-               return NET_NFC_ALLOC_FAIL;
-       }
-
-       func_data->callback = (gpointer)callback;
-       func_data->user_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        net_nfc_gdbus_llcp_call_listen(llcp_proxy,
                                GPOINTER_TO_UINT(llcp_handle),
@@ -825,12 +814,7 @@ net_nfc_error_e net_nfc_client_llcp_listen_sync(net_nfc_llcp_socket_t socket,
        if (out_socket == NULL)
                return NET_NFC_NULL_PARAMETER;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        if (service_name == NULL) {
                DEBUG_ERR_MSG("service_name is empty");
@@ -847,10 +831,6 @@ net_nfc_error_e net_nfc_client_llcp_listen_sync(net_nfc_llcp_socket_t socket,
        socket_data->service_name = (uint8_t *)g_strdup(service_name);
        socket_data->sap = sap;
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
        if (net_nfc_gdbus_llcp_call_listen_sync(llcp_proxy,
                                        GPOINTER_TO_UINT(llcp_handle),
                                        socket_data->client_socket,
@@ -892,26 +872,9 @@ net_nfc_error_e net_nfc_client_llcp_accept(net_nfc_llcp_socket_t socket,
 {
        LlcpFuncData *func_data;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
-
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
-       func_data = g_new0(LlcpFuncData, 1);
-       if (func_data == NULL) {
-               DEBUG_ERR_MSG("g_new0 failed");
-
-               return NET_NFC_ALLOC_FAIL;
-       }
+       CHECK_INITIALIZED();
 
-       func_data->callback = (gpointer)callback;
-       func_data->user_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        net_nfc_gdbus_llcp_call_accept(llcp_proxy,
                GPOINTER_TO_UINT(llcp_handle),
@@ -929,16 +892,7 @@ net_nfc_error_e net_nfc_client_llcp_accept_sync(net_nfc_llcp_socket_t socket)
        net_nfc_error_e result;
        GError *error = NULL;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
-
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
+       CHECK_INITIALIZED();
 
        if (net_nfc_gdbus_llcp_call_accept_sync(llcp_proxy,
                GPOINTER_TO_UINT(llcp_handle),
@@ -964,26 +918,9 @@ net_nfc_error_e net_nfc_client_llcp_reject(net_nfc_llcp_socket_t socket,
 {
        LlcpFuncData *func_data;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
-
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
-       func_data = g_new0(LlcpFuncData, 1);
-       if (func_data == NULL) {
-               DEBUG_ERR_MSG("g_new0 failed");
-
-               return NET_NFC_ALLOC_FAIL;
-       }
+       CHECK_INITIALIZED();
 
-       func_data->callback = (gpointer)callback;
-       func_data->user_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        net_nfc_gdbus_llcp_call_reject(llcp_proxy,
                GPOINTER_TO_UINT(llcp_handle),
@@ -1001,16 +938,7 @@ net_nfc_error_e net_nfc_client_llcp_reject_sync(net_nfc_llcp_socket_t socket)
        net_nfc_error_e result;
        GError *error = NULL;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
-
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
+       CHECK_INITIALIZED();
 
        if (net_nfc_gdbus_llcp_call_reject_sync(llcp_proxy,
                GPOINTER_TO_UINT(llcp_handle),
@@ -1041,12 +969,7 @@ net_nfc_error_e net_nfc_client_llcp_connect(net_nfc_llcp_socket_t socket,
        if (service_name == NULL)
                return NET_NFC_NULL_PARAMETER;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1054,19 +977,7 @@ net_nfc_error_e net_nfc_client_llcp_connect(net_nfc_llcp_socket_t socket,
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
-       func_data = g_new0(LlcpFuncData, 1);
-       if (func_data == NULL) {
-               DEBUG_ERR_MSG("g_new0 failed");
-
-               return NET_NFC_ALLOC_FAIL;
-       }
-
-       func_data->callback = (gpointer)callback;
-       func_data->user_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        net_nfc_gdbus_llcp_call_connect(llcp_proxy,
                                GPOINTER_TO_UINT(llcp_handle),
@@ -1097,12 +1008,7 @@ net_nfc_error_e net_nfc_client_llcp_connect_sync(net_nfc_llcp_socket_t socket,
        if (service_name == NULL || out_socket == NULL)
                return NET_NFC_NULL_PARAMETER;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1110,10 +1016,6 @@ net_nfc_error_e net_nfc_client_llcp_connect_sync(net_nfc_llcp_socket_t socket,
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
        if (net_nfc_gdbus_llcp_call_connect_sync(llcp_proxy,
                                        GPOINTER_TO_UINT(llcp_handle),
                                        socket_data->client_socket,
@@ -1159,12 +1061,7 @@ net_nfc_error_e net_nfc_client_llcp_connect_sap(net_nfc_llcp_socket_t socket,
        if (sap == 0)
                return NET_NFC_INVALID_PARAM;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1172,19 +1069,7 @@ net_nfc_error_e net_nfc_client_llcp_connect_sap(net_nfc_llcp_socket_t socket,
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
-       func_data = g_new0(LlcpFuncData, 1);
-       if (func_data == NULL) {
-               DEBUG_ERR_MSG("g_new0 failed");
-
-               return NET_NFC_ALLOC_FAIL;
-       }
-
-       func_data->callback = (gpointer)callback;
-       func_data->user_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        net_nfc_gdbus_llcp_call_connect_sap(llcp_proxy,
                                GPOINTER_TO_UINT(llcp_handle),
@@ -1219,12 +1104,7 @@ net_nfc_error_e net_nfc_client_llcp_connect_sap_sync(
        if (sap == 0)
                return NET_NFC_INVALID_PARAM;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1232,10 +1112,6 @@ net_nfc_error_e net_nfc_client_llcp_connect_sap_sync(
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
        if (net_nfc_gdbus_llcp_call_connect_sap_sync(llcp_proxy,
                                        GPOINTER_TO_UINT(llcp_handle),
                                        socket_data->client_socket,
@@ -1285,16 +1161,7 @@ net_nfc_error_e net_nfc_client_llcp_send(net_nfc_llcp_socket_t socket,
        if (socket <= 0)
                return NET_NFC_INVALID_PARAM;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
-
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1302,15 +1169,7 @@ net_nfc_error_e net_nfc_client_llcp_send(net_nfc_llcp_socket_t socket,
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       func_data = g_new0(LlcpFuncData, 1);
-       if (func_data == NULL) {
-               DEBUG_ERR_MSG("g_new0 failed");
-
-               return NET_NFC_ALLOC_FAIL;
-       }
-
-       func_data->callback = (gpointer)callback;
-       func_data->user_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        variant = net_nfc_util_gdbus_data_to_variant(data);
 
@@ -1343,12 +1202,7 @@ net_nfc_error_e net_nfc_client_llcp_send_sync(net_nfc_llcp_socket_t socket,
        if (socket <= 0)
                return NET_NFC_INVALID_PARAM;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1356,10 +1210,6 @@ net_nfc_error_e net_nfc_client_llcp_send_sync(net_nfc_llcp_socket_t socket,
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
        variant = net_nfc_util_gdbus_data_to_variant(data);
 
        if (net_nfc_gdbus_llcp_call_send_sync(llcp_proxy,
@@ -1405,12 +1255,7 @@ net_nfc_error_e net_nfc_client_llcp_send_to(net_nfc_llcp_socket_t socket,
        if (socket <= 0 || sap == 0)
                return NET_NFC_INVALID_PARAM;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1418,19 +1263,7 @@ net_nfc_error_e net_nfc_client_llcp_send_to(net_nfc_llcp_socket_t socket,
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
-       func_data = g_new0(LlcpFuncData, 1);
-       if (func_data == NULL) {
-               DEBUG_ERR_MSG("g_new0 failed");
-
-               return NET_NFC_ALLOC_FAIL;
-       }
-
-       func_data->callback = (gpointer)callback;
-       func_data->user_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        variant = net_nfc_util_gdbus_data_to_variant(data);
 
@@ -1465,12 +1298,7 @@ net_nfc_error_e net_nfc_client_llcp_send_to_sync(net_nfc_llcp_socket_t socket,
        if (socket <= 0 || sap == 0)
                return NET_NFC_INVALID_PARAM;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1478,10 +1306,6 @@ net_nfc_error_e net_nfc_client_llcp_send_to_sync(net_nfc_llcp_socket_t socket,
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
        variant = net_nfc_util_gdbus_data_to_variant(data);
 
        if (net_nfc_gdbus_llcp_call_send_to_sync(llcp_proxy,
@@ -1522,12 +1346,7 @@ net_nfc_error_e net_nfc_client_llcp_receive(net_nfc_llcp_socket_t socket,
        if (socket <= 0 || request_length == 0)
                return NET_NFC_INVALID_PARAM;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1535,19 +1354,7 @@ net_nfc_error_e net_nfc_client_llcp_receive(net_nfc_llcp_socket_t socket,
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
-       func_data = g_new0(LlcpFuncData, 1);
-       if (func_data == NULL) {
-               DEBUG_ERR_MSG("g_new0 failed");
-
-               return NET_NFC_ALLOC_FAIL;
-       }
-
-       func_data->callback = (gpointer)callback;
-       func_data->user_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        net_nfc_gdbus_llcp_call_receive(llcp_proxy,
                                GPOINTER_TO_UINT(llcp_handle),
@@ -1578,12 +1385,7 @@ net_nfc_error_e net_nfc_client_llcp_receive_sync(net_nfc_llcp_socket_t socket,
        if (socket <= 0 || request_length == 0)
                return NET_NFC_INVALID_PARAM;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1591,10 +1393,6 @@ net_nfc_error_e net_nfc_client_llcp_receive_sync(net_nfc_llcp_socket_t socket,
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
        if (net_nfc_gdbus_llcp_call_receive_sync(llcp_proxy,
                GPOINTER_TO_UINT(llcp_handle),
                socket_data->client_socket,
@@ -1628,12 +1426,7 @@ net_nfc_error_e net_nfc_client_llcp_receive_from(net_nfc_llcp_socket_t socket,
        if (socket <= 0 || request_length == 0)
                return NET_NFC_INVALID_PARAM;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1641,15 +1434,7 @@ net_nfc_error_e net_nfc_client_llcp_receive_from(net_nfc_llcp_socket_t socket,
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       func_data = g_new0(LlcpFuncData, 1);
-       if (func_data == NULL) {
-               DEBUG_ERR_MSG("g_new0 failed");
-
-               return NET_NFC_ALLOC_FAIL;
-       }
-
-       func_data->callback = (gpointer)callback;
-       func_data->user_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        net_nfc_gdbus_llcp_call_receive_from(llcp_proxy,
                                GPOINTER_TO_UINT(llcp_handle),
@@ -1685,12 +1470,7 @@ net_nfc_error_e net_nfc_client_llcp_receive_from_sync(
        if (socket <= 0 || request_length == 0)
                return NET_NFC_INVALID_PARAM;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1698,10 +1478,6 @@ net_nfc_error_e net_nfc_client_llcp_receive_from_sync(
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
        if (net_nfc_gdbus_llcp_call_receive_from_sync(llcp_proxy,
                GPOINTER_TO_UINT(llcp_handle),
                socket_data->client_socket,
@@ -1736,12 +1512,7 @@ net_nfc_error_e net_nfc_client_llcp_close(net_nfc_llcp_socket_t socket,
        if (socket <= 0)
                return NET_NFC_INVALID_PARAM;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1749,19 +1520,7 @@ net_nfc_error_e net_nfc_client_llcp_close(net_nfc_llcp_socket_t socket,
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
-       func_data = g_new0(LlcpFuncData, 1);
-       if (func_data == NULL) {
-               DEBUG_ERR_MSG("g_new0 failed");
-
-               return NET_NFC_ALLOC_FAIL;
-       }
-
-       func_data->callback = (gpointer)callback;
-       func_data->user_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        net_nfc_gdbus_llcp_call_close(llcp_proxy,
                                GPOINTER_TO_UINT(llcp_handle),
@@ -1786,12 +1545,7 @@ net_nfc_error_e net_nfc_client_llcp_close_sync(net_nfc_llcp_socket_t socket)
        if (socket <= 0)
                return NET_NFC_INVALID_PARAM;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1799,10 +1553,6 @@ net_nfc_error_e net_nfc_client_llcp_close_sync(net_nfc_llcp_socket_t socket)
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
        if (net_nfc_gdbus_llcp_call_close_sync(llcp_proxy,
                GPOINTER_TO_UINT(llcp_handle),
                socket_data->client_socket,
@@ -1838,12 +1588,7 @@ net_nfc_error_e net_nfc_client_llcp_disconnect(net_nfc_llcp_socket_t socket,
        if (socket <= 0)
                return NET_NFC_INVALID_PARAM;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1851,19 +1596,7 @@ net_nfc_error_e net_nfc_client_llcp_disconnect(net_nfc_llcp_socket_t socket,
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
-       func_data = g_new0(LlcpFuncData, 1);
-       if (func_data == NULL) {
-               DEBUG_ERR_MSG("g_new0 failed");
-
-               return NET_NFC_ALLOC_FAIL;
-       }
-
-       func_data->callback = (gpointer)callback;
-       func_data->user_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        net_nfc_gdbus_llcp_call_disconnect(llcp_proxy,
                                GPOINTER_TO_UINT(llcp_handle),
@@ -1889,12 +1622,7 @@ net_nfc_error_e net_nfc_client_llcp_disconnect_sync(
        if (socket <= 0)
                return NET_NFC_INVALID_PARAM;
 
-       if (llcp_proxy == NULL) {
-               if (net_nfc_client_llcp_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("llcp_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        socket_data = llcp_socket_data_find(socket);
        if (socket_data == NULL) {
@@ -1902,10 +1630,6 @@ net_nfc_error_e net_nfc_client_llcp_disconnect_sync(
                return NET_NFC_LLCP_INVALID_SOCKET;
        }
 
-       /* prevent executing daemon when nfc is off */
-       if (net_nfc_client_manager_is_activated() == false)
-               return NET_NFC_NOT_ACTIVATED;
-
        if (net_nfc_gdbus_llcp_call_disconnect_sync(llcp_proxy,
                GPOINTER_TO_UINT(llcp_handle),
                socket_data->client_socket,
@@ -2322,7 +2046,7 @@ net_nfc_error_e net_nfc_client_llcp_init(void)
 
        llcp_proxy = net_nfc_gdbus_llcp_proxy_new_for_bus_sync(
                        G_BUS_TYPE_SYSTEM,
-                       G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
+                       G_DBUS_PROXY_FLAGS_NONE,
                        "org.tizen.NetNfcService",
                        "/org/tizen/NetNfcService/Llcp",
                        NULL,
@@ -2354,4 +2078,3 @@ void net_nfc_client_llcp_deinit(void)
 }
 
 /* LCOV_EXCL_STOP */
-
old mode 100755 (executable)
new mode 100644 (file)
index 67ee9fc..91a6ced
@@ -436,7 +436,7 @@ net_nfc_error_e net_nfc_client_manager_init(void)
 
        manager_proxy = net_nfc_gdbus_manager_proxy_new_for_bus_sync(
                G_BUS_TYPE_SYSTEM,
-               G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
+               G_DBUS_PROXY_FLAGS_NONE,
                "org.tizen.NetNfcService",
                "/org/tizen/NetNfcService/Manager",
                NULL,
old mode 100755 (executable)
new mode 100644 (file)
index 150b2e1..f803e9f
@@ -586,7 +586,7 @@ net_nfc_error_e net_nfc_client_ndef_init(void)
 
        ndef_proxy = net_nfc_gdbus_ndef_proxy_new_for_bus_sync(
                                G_BUS_TYPE_SYSTEM,
-                               G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
+                               G_DBUS_PROXY_FLAGS_NONE,
                                "org.tizen.NetNfcService",
                                "/org/tizen/NetNfcService/Ndef",
                                NULL,
old mode 100755 (executable)
new mode 100644 (file)
index 92a60ab..5760beb
@@ -324,7 +324,7 @@ net_nfc_error_e net_nfc_client_p2p_init(void)
 
        p2p_proxy = net_nfc_gdbus_p2p_proxy_new_for_bus_sync(
                G_BUS_TYPE_SYSTEM,
-               G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
+               G_DBUS_PROXY_FLAGS_NONE,
                "org.tizen.NetNfcService",
                "/org/tizen/NetNfcService/P2p",
                NULL,
old mode 100755 (executable)
new mode 100644 (file)
index 94b5aad..fb460c9
 
 /* LCOV_EXCL_START */
 
+#define CHECK_INITIALIZED() \
+               do { \
+                       if (se_proxy == NULL) { \
+                               if (net_nfc_client_se_init() != NET_NFC_OK) { \
+                                       DEBUG_ERR_MSG("se_proxy fail"); \
+                                       return NET_NFC_NOT_INITIALIZED; \
+                               } \
+                       } \
+               } while (0)
+
+#define CHECK_AUTO_START_PROXY() \
+               do { \
+                       if (auto_start_proxy == NULL) { \
+                               GError* error = NULL; \
+                               \
+                               auto_start_proxy = net_nfc_gdbus_secure_element_proxy_new_for_bus_sync( \
+                                       G_BUS_TYPE_SYSTEM, \
+                                       G_DBUS_PROXY_FLAGS_NONE, \
+                                       "org.tizen.NetNfcService", \
+                                       "/org/tizen/NetNfcService/SecureElement", \
+                                       NULL, \
+                                       &error); \
+                               if (auto_start_proxy == NULL) { \
+                                       if (error != NULL) { \
+                                               DEBUG_ERR_MSG("Can not create proxy : %s", error->message); \
+                                               g_error_free(error); \
+                                       } \
+                                       \
+                                       return NET_NFC_UNKNOWN_ERROR; \
+                               } \
+                       } \
+               } while (0)
+
 typedef struct _SeFuncData SeFuncData;
 
 struct _SeFuncData {
@@ -103,6 +136,22 @@ static void se_rf_detected(GObject *source_object,
                        gint arg_se_type,
                        GVariant *arg_data);
 
+static SeFuncData* _create_func_data(void* callback, void* user_data)
+{
+       SeFuncData* func_data = NULL;
+
+       func_data = g_new0(SeFuncData, 1);
+       if (func_data == NULL) {
+               DEBUG_ERR_MSG("g_new0 failed");
+
+               return NULL;
+       }
+
+       func_data->se_callback = (gpointer)callback;
+       func_data->se_data = user_data;
+
+       return func_data;
+}
 
 static void se_ese_detected(GObject *source_object,
                        guint arg_handle,
@@ -436,24 +485,13 @@ net_nfc_error_e net_nfc_client_se_set_secure_element_type(
 {
        SeFuncData *func_data;
 
-       if (se_proxy == NULL) {
-               if (net_nfc_client_se_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("se_proxy fail");
-                       /* FIXME : return result of this error */
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        /* prevent executing daemon when nfc is off */
        if (net_nfc_client_manager_is_activated() == false)
                return NET_NFC_NOT_ACTIVATED;
 
-       func_data = g_try_new0(SeFuncData, 1);
-       if (func_data == NULL)
-               return NET_NFC_ALLOC_FAIL;
-
-       func_data->se_callback = (gpointer)callback;
-       func_data->se_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        net_nfc_gdbus_secure_element_call_set(
                                se_proxy,
@@ -473,12 +511,7 @@ net_nfc_error_e net_nfc_client_se_set_secure_element_type_sync(
        net_nfc_error_e result = NET_NFC_OK;
        GError *error = NULL;
 
-       if (se_proxy == NULL) {
-               if (net_nfc_client_se_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("se_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        /* prevent executing daemon when nfc is off */
        if (net_nfc_client_manager_is_activated() == false)
@@ -510,12 +543,7 @@ net_nfc_error_e net_nfc_client_se_get_secure_element_type_sync(
 #if 1
        GError *error = NULL;
 #endif
-       if (se_proxy == NULL) {
-               if (net_nfc_client_se_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("se_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        /* prevent executing daemon when nfc is off */
        if (net_nfc_client_manager_is_activated() == false)
@@ -554,12 +582,7 @@ net_nfc_error_e net_nfc_set_card_emulation_mode_sync(
        net_nfc_error_e result = NET_NFC_OK;
        GError *error = NULL;
 
-       if (se_proxy == NULL) {
-               if (net_nfc_client_se_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("se_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        /* prevent executing daemon when nfc is off */
        if (net_nfc_client_manager_is_activated() == false)
@@ -590,12 +613,7 @@ net_nfc_error_e net_nfc_get_card_emulation_mode_sync(
        gint type;
        GError *error = NULL;
 
-       if (se_proxy == NULL) {
-               if (net_nfc_client_se_init() != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("se_proxy fail");
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        /* prevent executing daemon when nfc is off */
        if (net_nfc_client_manager_is_activated() == false)
@@ -628,34 +646,11 @@ net_nfc_error_e net_nfc_client_se_open_internal_secure_element(
 {
        SeFuncData *func_data;
 
-       if (auto_start_proxy == NULL) {
-               GError *error = NULL;
-
-               auto_start_proxy = net_nfc_gdbus_secure_element_proxy_new_for_bus_sync(
-                       G_BUS_TYPE_SYSTEM,
-                       G_DBUS_PROXY_FLAGS_NONE,
-                       "org.tizen.NetNfcService",
-                       "/org/tizen/NetNfcService/SecureElement",
-                       NULL,
-                       &error);
-               if (auto_start_proxy == NULL) {
-                       if (error != NULL) {
-                               DEBUG_ERR_MSG("Can not create proxy : %s", error->message);
-                               g_error_free(error);
-                       }
-
-                       return NET_NFC_UNKNOWN_ERROR;
-               }
-       }
+       CHECK_AUTO_START_PROXY();
 
        /* allow this function even nfc is off */
 
-       func_data = g_try_new0(SeFuncData, 1);
-       if (func_data == NULL)
-               return NET_NFC_ALLOC_FAIL;
-
-       func_data->se_callback = (gpointer)callback;
-       func_data->se_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        net_nfc_gdbus_secure_element_call_open_secure_element(
                                        auto_start_proxy,
@@ -680,25 +675,7 @@ net_nfc_error_e net_nfc_client_se_open_internal_secure_element_sync(
        if (handle == NULL)
                return NET_NFC_NULL_PARAMETER;
 
-       if (auto_start_proxy == NULL) {
-               GError *error = NULL;
-
-               auto_start_proxy = net_nfc_gdbus_secure_element_proxy_new_for_bus_sync(
-                       G_BUS_TYPE_SYSTEM,
-                       G_DBUS_PROXY_FLAGS_NONE,
-                       "org.tizen.NetNfcService",
-                       "/org/tizen/NetNfcService/SecureElement",
-                       NULL,
-                       &error);
-               if (auto_start_proxy == NULL) {
-                       if (error != NULL) {
-                               DEBUG_ERR_MSG("Can not create proxy : %s", error->message);
-                               g_error_free(error);
-                       }
-
-                       return NET_NFC_UNKNOWN_ERROR;
-               }
-       }
+       CHECK_AUTO_START_PROXY();
 
        /* allow this function even nfc is off */
 
@@ -731,34 +708,11 @@ net_nfc_error_e net_nfc_client_se_close_internal_secure_element(
 {
        SeFuncData *func_data;
 
-       if (auto_start_proxy == NULL) {
-               GError *error = NULL;
-
-               auto_start_proxy = net_nfc_gdbus_secure_element_proxy_new_for_bus_sync(
-                       G_BUS_TYPE_SYSTEM,
-                       G_DBUS_PROXY_FLAGS_NONE,
-                       "org.tizen.NetNfcService",
-                       "/org/tizen/NetNfcService/SecureElement",
-                       NULL,
-                       &error);
-               if (auto_start_proxy == NULL) {
-                       if (error != NULL) {
-                               DEBUG_ERR_MSG("Can not create proxy : %s", error->message);
-                               g_error_free(error);
-                       }
-
-                       return NET_NFC_UNKNOWN_ERROR;
-               }
-       }
+       CHECK_AUTO_START_PROXY();
 
        /* allow this function even nfc is off */
 
-       func_data = g_try_new0(SeFuncData, 1);
-       if (func_data == NULL)
-               return NET_NFC_ALLOC_FAIL;
-
-       func_data->se_callback = (gpointer)callback;
-       func_data->se_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        net_nfc_gdbus_secure_element_call_close_secure_element(
                auto_start_proxy,
@@ -778,25 +732,7 @@ net_nfc_error_e net_nfc_client_se_close_internal_secure_element_sync(
        net_nfc_error_e result = NET_NFC_OK;
        GError *error = NULL;
 
-       if (auto_start_proxy == NULL) {
-               GError *error = NULL;
-
-               auto_start_proxy = net_nfc_gdbus_secure_element_proxy_new_for_bus_sync(
-                       G_BUS_TYPE_SYSTEM,
-                       G_DBUS_PROXY_FLAGS_NONE,
-                       "org.tizen.NetNfcService",
-                       "/org/tizen/NetNfcService/SecureElement",
-                       NULL,
-                       &error);
-               if (auto_start_proxy == NULL) {
-                       if (error != NULL) {
-                               DEBUG_ERR_MSG("Can not create proxy : %s", error->message);
-                               g_error_free(error);
-                       }
-
-                       return NET_NFC_UNKNOWN_ERROR;
-               }
-       }
+       CHECK_AUTO_START_PROXY();
 
        /* allow this function even nfc is off */
 
@@ -826,34 +762,11 @@ net_nfc_error_e net_nfc_client_se_get_atr(
 {
        SeFuncData *func_data;
 
-       if (auto_start_proxy == NULL) {
-               GError *error = NULL;
-
-               auto_start_proxy = net_nfc_gdbus_secure_element_proxy_new_for_bus_sync(
-                       G_BUS_TYPE_SYSTEM,
-                       G_DBUS_PROXY_FLAGS_NONE,
-                       "org.tizen.NetNfcService",
-                       "/org/tizen/NetNfcService/SecureElement",
-                       NULL,
-                       &error);
-               if (auto_start_proxy == NULL) {
-                       if (error != NULL) {
-                               DEBUG_ERR_MSG("Can not create proxy : %s", error->message);
-                               g_error_free(error);
-                       }
-
-                       return NET_NFC_UNKNOWN_ERROR;
-               }
-       }
+       CHECK_AUTO_START_PROXY();
 
        /* allow this function even nfc is off */
 
-       func_data = g_try_new0(SeFuncData, 1);
-       if (func_data == NULL)
-               return NET_NFC_ALLOC_FAIL;
-
-       func_data->se_callback = (gpointer)callback;
-       func_data->se_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        net_nfc_gdbus_secure_element_call_get_atr(
                auto_start_proxy,
@@ -880,25 +793,7 @@ net_nfc_error_e net_nfc_client_se_get_atr_sync(
 
        *atr = NULL;
 
-       if (auto_start_proxy == NULL) {
-               GError *error = NULL;
-
-               auto_start_proxy = net_nfc_gdbus_secure_element_proxy_new_for_bus_sync(
-                       G_BUS_TYPE_SYSTEM,
-                       G_DBUS_PROXY_FLAGS_NONE,
-                       "org.tizen.NetNfcService",
-                       "/org/tizen/NetNfcService/SecureElement",
-                       NULL,
-                       &error);
-               if (auto_start_proxy == NULL) {
-                       if (error != NULL) {
-                               DEBUG_ERR_MSG("Can not create proxy : %s", error->message);
-                               g_error_free(error);
-                       }
-
-                       return NET_NFC_UNKNOWN_ERROR;
-               }
-       }
+       CHECK_AUTO_START_PROXY();
 
        /* allow this function even nfc is off */
 
@@ -933,25 +828,7 @@ net_nfc_error_e net_nfc_client_se_send_apdu(
        SeFuncData *func_data;
        GVariant *arg_data;
 
-       if (auto_start_proxy == NULL) {
-               GError *error = NULL;
-
-               auto_start_proxy = net_nfc_gdbus_secure_element_proxy_new_for_bus_sync(
-                       G_BUS_TYPE_SYSTEM,
-                       G_DBUS_PROXY_FLAGS_NONE,
-                       "org.tizen.NetNfcService",
-                       "/org/tizen/NetNfcService/SecureElement",
-                       NULL,
-                       &error);
-               if (auto_start_proxy == NULL) {
-                       if (error != NULL) {
-                               DEBUG_ERR_MSG("Can not create proxy : %s", error->message);
-                               g_error_free(error);
-                       }
-
-                       return NET_NFC_UNKNOWN_ERROR;
-               }
-       }
+       CHECK_AUTO_START_PROXY();
 
        /* allow this function even nfc is off */
 
@@ -959,15 +836,7 @@ net_nfc_error_e net_nfc_client_se_send_apdu(
        if (arg_data == NULL)
                return NET_NFC_INVALID_PARAM;
 
-       func_data = g_try_new0(SeFuncData, 1);
-       if (func_data == NULL) {
-               g_variant_unref(arg_data);
-
-               return NET_NFC_ALLOC_FAIL;
-       }
-
-       func_data->se_callback = (gpointer)callback;
-       func_data->se_data = user_data;
+       func_data = _create_func_data(callback, user_data);
 
        net_nfc_gdbus_secure_element_call_send_apdu(
                auto_start_proxy,
@@ -997,25 +866,7 @@ net_nfc_error_e net_nfc_client_se_send_apdu_sync(
 
        *response = NULL;
 
-       if (auto_start_proxy == NULL) {
-               GError *error = NULL;
-
-               auto_start_proxy = net_nfc_gdbus_secure_element_proxy_new_for_bus_sync(
-                       G_BUS_TYPE_SYSTEM,
-                       G_DBUS_PROXY_FLAGS_NONE,
-                       "org.tizen.NetNfcService",
-                       "/org/tizen/NetNfcService/SecureElement",
-                       NULL,
-                       &error);
-               if (auto_start_proxy == NULL) {
-                       if (error != NULL) {
-                               DEBUG_ERR_MSG("Can not create proxy : %s", error->message);
-                               g_error_free(error);
-                       }
-
-                       return NET_NFC_UNKNOWN_ERROR;
-               }
-       }
+       CHECK_AUTO_START_PROXY();
 
        /* allow this function even nfc is off */
 
@@ -1137,25 +988,7 @@ net_nfc_error_e net_nfc_client_se_set_transaction_fg_dispatch(int mode)
        net_nfc_error_e result = NET_NFC_OK;
        GError *error = NULL;
 
-       if (auto_start_proxy == NULL) {
-               GError *error = NULL;
-
-               auto_start_proxy = net_nfc_gdbus_secure_element_proxy_new_for_bus_sync(
-                       G_BUS_TYPE_SYSTEM,
-                       G_DBUS_PROXY_FLAGS_NONE,
-                       "org.tizen.NetNfcService",
-                       "/org/tizen/NetNfcService/SecureElement",
-                       NULL,
-                       &error);
-               if (auto_start_proxy == NULL) {
-                       if (error != NULL) {
-                               DEBUG_ERR_MSG("Can not create proxy : %s", error->message);
-                               g_error_free(error);
-                       }
-
-                       return NET_NFC_UNKNOWN_ERROR;
-               }
-       }
+       CHECK_AUTO_START_PROXY();
 
        if (net_nfc_gdbus_secure_element_call_set_transaction_fg_dispatch_sync(
                auto_start_proxy,
@@ -1183,14 +1016,7 @@ net_nfc_error_e net_nfc_client_se_set_default_route_sync(
        net_nfc_error_e result = NET_NFC_OK;
        GError *error = NULL;
 
-       if (se_proxy == NULL) {
-               result = net_nfc_client_se_init();
-               if (result != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("net_nfc_client_se_init failed, [%d]", result);
-
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        if (net_nfc_gdbus_secure_element_call_set_default_route_sync(
                se_proxy,
@@ -1224,14 +1050,7 @@ net_nfc_error_e net_nfc_client_se_is_activated_aid_handler_sync(
        if (activated == NULL)
                return NET_NFC_NULL_PARAMETER;
 
-       if (se_proxy == NULL) {
-               result = net_nfc_client_se_init();
-               if (result != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("net_nfc_client_se_init failed, [%d]", result);
-
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        if (net_nfc_gdbus_secure_element_call_is_activated_aid_handler_sync(
                        se_proxy,
@@ -1266,14 +1085,7 @@ net_nfc_error_e net_nfc_client_se_is_activated_category_handler_sync(
        if (activated == NULL)
                return NET_NFC_NULL_PARAMETER;
 
-       if (se_proxy == NULL) {
-               result = net_nfc_client_se_init();
-               if (result != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("net_nfc_client_se_init failed, [%d]", result);
-
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        if (net_nfc_gdbus_secure_element_call_is_activated_category_handler_sync(
                        se_proxy,
@@ -1309,14 +1121,7 @@ net_nfc_error_e net_nfc_client_se_get_registered_aids_count_sync(
        if (count == NULL)
                return NET_NFC_NULL_PARAMETER;
 
-       if (se_proxy == NULL) {
-               result = net_nfc_client_se_init();
-               if (result != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("net_nfc_client_se_init failed, [%d]", result);
-
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        if (net_nfc_gdbus_secure_element_call_get_registered_aids_sync(
                        se_proxy,
@@ -1361,14 +1166,7 @@ net_nfc_error_e net_nfc_client_se_foreach_registered_aids_sync(
        if (callback == NULL)
                return NET_NFC_NULL_PARAMETER;
 
-       if (se_proxy == NULL) {
-               result = net_nfc_client_se_init();
-               if (result != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("net_nfc_client_se_init failed, [%d]", result);
-
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        if (net_nfc_gdbus_secure_element_call_get_registered_aids_sync(
                        se_proxy,
@@ -1408,14 +1206,7 @@ net_nfc_error_e net_nfc_client_se_register_aids_sync(net_nfc_se_type_e se_type,
        net_nfc_error_e result = NET_NFC_OK;
        GError *error = NULL;
 
-       if (se_proxy == NULL) {
-               result = net_nfc_client_se_init();
-               if (result != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("net_nfc_client_se_init failed, [%d]", result);
-
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        if (net_nfc_gdbus_secure_element_call_register_aid_sync(
                        se_proxy,
@@ -1443,14 +1234,7 @@ net_nfc_error_e net_nfc_client_se_unregister_aid_sync(net_nfc_se_type_e se_type,
        net_nfc_error_e result = NET_NFC_OK;
        GError *error = NULL;
 
-       if (se_proxy == NULL) {
-               result = net_nfc_client_se_init();
-               if (result != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("net_nfc_client_se_init failed, [%d]", result);
-
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        if (net_nfc_gdbus_secure_element_call_unregister_aid_sync(
                        se_proxy,
@@ -1477,14 +1261,7 @@ net_nfc_error_e net_nfc_client_se_unregister_aids_sync(net_nfc_se_type_e se_type
        net_nfc_error_e result = NET_NFC_OK;
        GError *error = NULL;
 
-       if (se_proxy == NULL) {
-               result = net_nfc_client_se_init();
-               if (result != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("net_nfc_client_se_init failed, [%d]", result);
-
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        if (net_nfc_gdbus_secure_element_call_unregister_aids_sync(
                        se_proxy,
@@ -1517,14 +1294,7 @@ net_nfc_error_e net_nfc_client_se_foreach_registered_handlers_sync(
        if (callback == NULL)
                return NET_NFC_NULL_PARAMETER;
 
-       if (se_proxy == NULL) {
-               result = net_nfc_client_se_init();
-               if (result != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("net_nfc_client_se_init failed, [%d]", result);
-
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        if (net_nfc_gdbus_secure_element_call_get_registered_handlers_sync(
                        se_proxy,
@@ -1564,25 +1334,7 @@ net_nfc_error_e net_nfc_client_se_add_route_aid_sync(
        net_nfc_error_e result = NET_NFC_OK;
        GError *error = NULL;
 
-       if (auto_start_proxy == NULL) {
-               GError *error = NULL;
-
-               auto_start_proxy = net_nfc_gdbus_secure_element_proxy_new_for_bus_sync(
-                       G_BUS_TYPE_SYSTEM,
-                       G_DBUS_PROXY_FLAGS_NONE,
-                       "org.tizen.NetNfcService",
-                       "/org/tizen/NetNfcService/SecureElement",
-                       NULL,
-                       &error);
-               if (auto_start_proxy == NULL) {
-                       if (error != NULL) {
-                               DEBUG_ERR_MSG("Can not create proxy : %s", error->message);
-                               g_error_free(error);
-                       }
-
-                       return NET_NFC_UNKNOWN_ERROR;
-               }
-       }
+       CHECK_AUTO_START_PROXY();
 
        if (net_nfc_gdbus_secure_element_call_add_route_aid_sync(
                auto_start_proxy,
@@ -1615,25 +1367,7 @@ net_nfc_error_e net_nfc_client_se_remove_route_aid_sync(
        net_nfc_error_e result = NET_NFC_OK;
        GError *error = NULL;
 
-       if (auto_start_proxy == NULL) {
-               GError *error = NULL;
-
-               auto_start_proxy = net_nfc_gdbus_secure_element_proxy_new_for_bus_sync(
-                       G_BUS_TYPE_SYSTEM,
-                       G_DBUS_PROXY_FLAGS_NONE,
-                       "org.tizen.NetNfcService",
-                       "/org/tizen/NetNfcService/SecureElement",
-                       NULL,
-                       &error);
-               if (auto_start_proxy == NULL) {
-                       if (error != NULL) {
-                               DEBUG_ERR_MSG("Can not create proxy : %s", error->message);
-                               g_error_free(error);
-                       }
-
-                       return NET_NFC_UNKNOWN_ERROR;
-               }
-       }
+       CHECK_AUTO_START_PROXY();
 
        if (net_nfc_gdbus_secure_element_call_remove_route_aid_sync(
                auto_start_proxy,
@@ -1662,25 +1396,7 @@ net_nfc_error_e net_nfc_client_se_remove_package_aids_sync(
        net_nfc_error_e result = NET_NFC_OK;
        GError *error = NULL;
 
-       if (auto_start_proxy == NULL) {
-               GError *error = NULL;
-
-               auto_start_proxy = net_nfc_gdbus_secure_element_proxy_new_for_bus_sync(
-                       G_BUS_TYPE_SYSTEM,
-                       G_DBUS_PROXY_FLAGS_NONE,
-                       "org.tizen.NetNfcService",
-                       "/org/tizen/NetNfcService/SecureElement",
-                       NULL,
-                       &error);
-               if (auto_start_proxy == NULL) {
-                       if (error != NULL) {
-                               DEBUG_ERR_MSG("Can not create proxy : %s", error->message);
-                               g_error_free(error);
-                       }
-
-                       return NET_NFC_UNKNOWN_ERROR;
-               }
-       }
+       CHECK_AUTO_START_PROXY();
 
        if (net_nfc_gdbus_secure_element_call_remove_package_aids_sync(
                auto_start_proxy,
@@ -1707,14 +1423,7 @@ net_nfc_error_e net_nfc_client_se_set_preferred_handler_sync(bool state)
        net_nfc_error_e result = NET_NFC_OK;
        GError *error = NULL;
 
-       if (se_proxy == NULL) {
-               result = net_nfc_client_se_init();
-               if (result != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("net_nfc_client_se_init failed, [%d]", result);
-
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        if (net_nfc_gdbus_secure_element_call_set_preferred_handler_sync(
                se_proxy,
@@ -1739,14 +1448,7 @@ net_nfc_error_e net_nfc_client_se_get_handler_storage_info_sync(
        net_nfc_error_e result = NET_NFC_OK;
        GError *error = NULL;
 
-       if (se_proxy == NULL) {
-               result = net_nfc_client_se_init();
-               if (result != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("net_nfc_client_se_init failed, [%d]", result);
-
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        if (net_nfc_gdbus_secure_element_call_get_handler_storage_info_sync(
                se_proxy,
@@ -1775,14 +1477,7 @@ net_nfc_error_e net_nfc_client_se_get_conflict_handlers_sync(
        GError *error = NULL;
        GVariant *packages = NULL;
 
-       if (se_proxy == NULL) {
-               result = net_nfc_client_se_init();
-               if (result != NET_NFC_OK) {
-                       DEBUG_ERR_MSG("net_nfc_client_se_init failed, [%d]", result);
-
-                       return NET_NFC_NOT_INITIALIZED;
-               }
-       }
+       CHECK_INITIALIZED();
 
        if (net_nfc_gdbus_secure_element_call_get_conflict_handlers_sync(
                se_proxy,
@@ -1844,7 +1539,7 @@ net_nfc_error_e net_nfc_client_se_init(void)
 
        se_proxy = net_nfc_gdbus_secure_element_proxy_new_for_bus_sync(
                                G_BUS_TYPE_SYSTEM,
-                               G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
+                               G_DBUS_PROXY_FLAGS_NONE,
                                "org.tizen.NetNfcService",
                                "/org/tizen/NetNfcService/SecureElement",
                                NULL,
old mode 100755 (executable)
new mode 100644 (file)
index d637c84..3a9a47a
@@ -468,7 +468,7 @@ net_nfc_error_e net_nfc_client_snep_init(void)
 
        snep_proxy = net_nfc_gdbus_snep_proxy_new_for_bus_sync(
                G_BUS_TYPE_SYSTEM,
-               G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
+               G_DBUS_PROXY_FLAGS_NONE,
                "org.tizen.NetNfcService",
                "/org/tizen/NetNfcService/Snep",
                NULL,
old mode 100755 (executable)
new mode 100644 (file)
index a90dd45..b0db9cc
@@ -280,7 +280,7 @@ net_nfc_error_e net_nfc_client_sys_handler_init(void)
 
        popup_proxy = net_nfc_gdbus_popup_proxy_new_for_bus_sync(
                                        G_BUS_TYPE_SYSTEM,
-                                       G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
+                                       G_DBUS_PROXY_FLAGS_NONE,
                                        "org.tizen.NetNfcService",
                                        "/org/tizen/NetNfcService/Popup",
                                        NULL,
old mode 100755 (executable)
new mode 100644 (file)
index 3991271..b6d735c
@@ -455,6 +455,40 @@ net_nfc_target_info_s *net_nfc_client_tag_get_client_target_info(void)
        return client_target_info;
 }
 
+net_nfc_error_e net_nfc_get_target_info_from_device_type(net_nfc_target_handle_h handle, net_nfc_target_type_e device_type, net_nfc_target_info_s** target_info)
+{
+       if (handle == NULL)
+               return NET_NFC_NULL_PARAMETER;
+
+       if (net_nfc_client_tag_is_connected() == FALSE)
+               return NET_NFC_OPERATION_FAIL;
+
+       *target_info = net_nfc_client_tag_get_client_target_info();
+       if (*target_info == NULL)
+               return NET_NFC_NO_DATA_FOUND;
+
+       if ((*target_info)->devType != NET_NFC_FELICA_PICC) {
+               DEBUG_CLIENT_MSG("only felica tag is available");
+               return NET_NFC_NOT_ALLOWED_OPERATION;
+       }
+
+       return NET_NFC_OK;
+}
+
+net_nfc_error_e net_nfc_get_tag_info_value_from_key(net_nfc_target_info_s* target_info, const char* key, int valid_length, data_h* data)
+{
+       if (net_nfc_get_tag_info_value((net_nfc_target_info_h)target_info,
+               key,
+               data) != NET_NFC_OK) {
+               return NET_NFC_NO_DATA_FOUND;
+       }
+
+       if (((data_s*)*data)->length != valid_length)
+               return NET_NFC_OUT_OF_BOUND;
+
+       return NET_NFC_OK;
+}
+
 NET_NFC_EXPORT_API
 net_nfc_error_e net_nfc_client_tag_is_tag_connected_sync(
                                        net_nfc_target_type_e *dev_type)
@@ -797,7 +831,7 @@ net_nfc_error_e net_nfc_client_tag_init(void)
 
        tag_proxy = net_nfc_gdbus_tag_proxy_new_for_bus_sync(
                                G_BUS_TYPE_SYSTEM,
-                               G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
+                               G_DBUS_PROXY_FLAGS_NONE,
                                "org.tizen.NetNfcService",
                                "/org/tizen/NetNfcService/Tag",
                                NULL,
old mode 100755 (executable)
new mode 100644 (file)
index 70053c3..45e126b
@@ -52,20 +52,9 @@ net_nfc_error_e net_nfc_client_felica_poll(net_nfc_target_handle_h handle,
 
        uint8_t send_buffer[6] = { 0x00, };
 
-       if (handle == NULL)
-               return NET_NFC_NULL_PARAMETER;
-
-       if (net_nfc_client_tag_is_connected() == FALSE)
-               return NET_NFC_OPERATION_FAIL;
-
-       target_info = net_nfc_client_tag_get_client_target_info();
-       if (target_info == NULL)
-               return NET_NFC_NO_DATA_FOUND;
-
-       if (target_info->devType != NET_NFC_FELICA_PICC) {
-               DEBUG_CLIENT_MSG("only felica tag is available");
-               return NET_NFC_NOT_ALLOWED_OPERATION;
-       }
+       int ret = net_nfc_get_target_info_from_device_type(handle, NET_NFC_FELICA_PICC, &target_info);
+       if (ret != NET_NFC_OK)
+               return ret;
 
        /* total size of requet command */
        send_buffer[0] = 0x06;
@@ -110,29 +99,16 @@ net_nfc_error_e net_nfc_client_felica_request_service(
 
        int i;
 
-       if (handle == NULL || area_service_list == NULL)
+       if (area_service_list == NULL)
                return NET_NFC_NULL_PARAMETER;
 
-       if (net_nfc_client_tag_is_connected() == FALSE)
-               return NET_NFC_OPERATION_FAIL;
-
-       target_info = net_nfc_client_tag_get_client_target_info();
-       if (target_info == NULL)
-               return NET_NFC_NO_DATA_FOUND;
-
-       if (target_info->devType != NET_NFC_FELICA_PICC) {
-               DEBUG_CLIENT_MSG("only felica tag is available");
-               return NET_NFC_NOT_ALLOWED_OPERATION;
-       }
-
-       if (net_nfc_get_tag_info_value((net_nfc_target_info_h)target_info,
-                               FELICA_TAG_KEY,
-                               &IDm) != NET_NFC_OK) {
-               return NET_NFC_NO_DATA_FOUND;
-       }
+       int ret = net_nfc_get_target_info_from_device_type(handle, NET_NFC_FELICA_PICC, &target_info);
+       if (ret != NET_NFC_OK)
+               return ret;
 
-       if (((data_s*)IDm)->length != 8)
-               return NET_NFC_OUT_OF_BOUND;
+       ret = net_nfc_get_tag_info_value_from_key(target_info, FELICA_TAG_KEY, 8, &IDm);
+       if (ret != NET_NFC_OK)
+               return ret;
 
        if (number_of_area_service > 32)
                return NET_NFC_OUT_OF_BOUND;
@@ -198,29 +174,13 @@ net_nfc_error_e net_nfc_client_felica_request_response(
 
        uint8_t send_buffer[10] = { 0x00, };
 
-       if (handle == NULL)
-               return NET_NFC_NULL_PARAMETER;
-
-       if (net_nfc_client_tag_is_connected() == FALSE)
-               return NET_NFC_OPERATION_FAIL;
-
-       target_info = net_nfc_client_tag_get_client_target_info();
-       if (target_info == NULL)
-               return NET_NFC_NO_DATA_FOUND;
-
-       if (target_info->devType != NET_NFC_FELICA_PICC) {
-               DEBUG_CLIENT_MSG("only felica tag is available");
-               return NET_NFC_NOT_ALLOWED_OPERATION;
-       }
+       int ret = net_nfc_get_target_info_from_device_type(handle, NET_NFC_FELICA_PICC, &target_info);
+       if (ret != NET_NFC_OK)
+               return ret;
 
-       if (net_nfc_get_tag_info_value((net_nfc_target_info_h)target_info,
-                               FELICA_TAG_KEY,
-                               &IDm) != NET_NFC_OK) {
-               return NET_NFC_NO_DATA_FOUND;
-       }
-
-       if (((data_s*)IDm)->length != 8)
-               return NET_NFC_OUT_OF_BOUND;
+       ret = net_nfc_get_tag_info_value_from_key(target_info, FELICA_TAG_KEY, 8, &IDm);
+       if (ret != NET_NFC_OK)
+               return ret;
 
        send_buffer[0] = 0xA;
        send_buffer[1] = FELICA_CMD_REQ_RESPONSE;
@@ -262,29 +222,16 @@ net_nfc_error_e net_nfc_client_felica_read_without_encryption(
 
        int i;
 
-       if (handle == NULL || service_list == NULL || block_list == NULL)
+       if (service_list == NULL || block_list == NULL)
                return NET_NFC_NULL_PARAMETER;
 
-       if (net_nfc_client_tag_is_connected() == FALSE)
-               return NET_NFC_OPERATION_FAIL;
+       int ret = net_nfc_get_target_info_from_device_type(handle, NET_NFC_FELICA_PICC, &target_info);
+       if (ret != NET_NFC_OK)
+               return ret;
 
-       target_info = net_nfc_client_tag_get_client_target_info();
-       if (target_info == NULL)
-               return NET_NFC_NO_DATA_FOUND;
-
-       if (target_info->devType != NET_NFC_FELICA_PICC) {
-               DEBUG_CLIENT_MSG("only felica tag is available");
-               return NET_NFC_NOT_ALLOWED_OPERATION;
-       }
-
-       if (net_nfc_get_tag_info_value((net_nfc_target_info_h)target_info,
-                               FELICA_TAG_KEY,
-                               &IDm) != NET_NFC_OK) {
-               return NET_NFC_NO_DATA_FOUND;
-       }
-
-       if (((data_s*)IDm)->length != 8)
-               return NET_NFC_OUT_OF_BOUND;
+       ret = net_nfc_get_tag_info_value_from_key(target_info, FELICA_TAG_KEY, 8, &IDm);
+       if (ret != NET_NFC_OK)
+               return ret;
 
        if (number_of_services > 16)
                return NET_NFC_OUT_OF_BOUND;
@@ -364,30 +311,18 @@ net_nfc_error_e net_nfc_client_felica_write_without_encryption(
 
        int i;
 
-       if (handle == NULL || service_list == NULL ||
+       if (service_list == NULL ||
                        block_list == NULL || data == NULL) {
                return NET_NFC_NULL_PARAMETER;
        }
 
-       if (net_nfc_client_tag_is_connected() == FALSE)
-               return NET_NFC_OPERATION_FAIL;
-       target_info = net_nfc_client_tag_get_client_target_info();
-       if (target_info == NULL)
-               return NET_NFC_NO_DATA_FOUND;
+       int ret = net_nfc_get_target_info_from_device_type(handle, NET_NFC_FELICA_PICC, &target_info);
+       if (ret != NET_NFC_OK)
+               return ret;
 
-       if (target_info->devType != NET_NFC_FELICA_PICC) {
-               DEBUG_CLIENT_MSG("only felica tag is available");
-               return NET_NFC_NOT_ALLOWED_OPERATION;
-       }
-
-       if (net_nfc_get_tag_info_value((net_nfc_target_info_h)target_info,
-                               FELICA_TAG_KEY,
-                               &IDm) != NET_NFC_OK) {
-               return NET_NFC_NO_DATA_FOUND;
-       }
-
-       if (((data_s*)IDm)->length != 8)
-               return NET_NFC_OUT_OF_BOUND;
+       ret = net_nfc_get_tag_info_value_from_key(target_info, FELICA_TAG_KEY, 8, &IDm);
+       if (ret != NET_NFC_OK)
+               return ret;
 
        if (number_of_services > 16)
                return NET_NFC_OUT_OF_BOUND;
@@ -465,30 +400,13 @@ net_nfc_error_e net_nfc_client_felica_request_system_code(
 
        uint8_t send_buffer[10] = { 0x00, };
 
-       if (handle == NULL)
-               return NET_NFC_NULL_PARAMETER;
-
-       if (net_nfc_client_tag_is_connected() == FALSE)
-               return NET_NFC_OPERATION_FAIL;
-
-       target_info = net_nfc_client_tag_get_client_target_info();
-       if (target_info == NULL)
-               return NET_NFC_NO_DATA_FOUND;
-
-       if (target_info->devType != NET_NFC_FELICA_PICC) {
-               DEBUG_CLIENT_MSG("only felica tag is available");
-               return NET_NFC_NOT_ALLOWED_OPERATION;
-       }
-
-       if (net_nfc_get_tag_info_value((net_nfc_target_info_h)target_info,
-                               FELICA_TAG_KEY,
-                               &IDm) != NET_NFC_OK) {
-               return NET_NFC_NO_DATA_FOUND;
-       }
-
-       if (((data_s*)IDm)->length != 8)
-               return NET_NFC_OUT_OF_BOUND;
+       int ret = net_nfc_get_target_info_from_device_type(handle, NET_NFC_FELICA_PICC, &target_info);
+       if (ret != NET_NFC_OK)
+               return ret;
 
+       ret = net_nfc_get_tag_info_value_from_key(target_info, FELICA_TAG_KEY, 8, &IDm);
+       if (ret != NET_NFC_OK)
+               return ret;
 
        send_buffer[0] = 0xA;
        send_buffer[1] = FELICA_CMD_REQ_SYSTEM_CODE;
old mode 100755 (executable)
new mode 100644 (file)
index abb212a..c3b27f5
@@ -53,20 +53,9 @@ net_nfc_error_e net_nfc_client_jewel_read_id(net_nfc_target_handle_h handle,
 
        uint8_t send_buffer[9] = {0x00, };
 
-       if (handle == NULL)
-               return NET_NFC_NULL_PARAMETER;
-
-       if (net_nfc_client_tag_is_connected() == FALSE)
-               return NET_NFC_OPERATION_FAIL;
-
-       target_info = net_nfc_client_tag_get_client_target_info();
-       if (target_info == NULL)
-               return NET_NFC_NO_DATA_FOUND;
-
-       if (target_info->devType != NET_NFC_JEWEL_PICC) {
-               DEBUG_CLIENT_MSG("only Jewel tag is available");
-               return NET_NFC_NOT_ALLOWED_OPERATION;
-       }
+       int ret = net_nfc_get_target_info_from_device_type(handle, NET_NFC_JEWEL_PICC, &target_info);
+       if (ret != NET_NFC_OK)
+               return ret;
 
        send_buffer[0] = JEWEL_CMD_RID;
 
@@ -98,33 +87,16 @@ net_nfc_error_e net_nfc_client_jewel_read_byte(net_nfc_target_handle_h handle,
 
        uint8_t send_buffer[9] = {0x00, };
 
-       if (handle == NULL)
-               return NET_NFC_NULL_PARAMETER;
+       int ret = net_nfc_get_target_info_from_device_type(handle, NET_NFC_JEWEL_PICC, &target_info);
+       if (ret != NET_NFC_OK)
+               return ret;
 
        if (block > 0xE || byte > 0x7)
                return NET_NFC_OUT_OF_BOUND;
 
-       if (net_nfc_client_tag_is_connected() == FALSE)
-               return NET_NFC_OPERATION_FAIL;
-
-       target_info = net_nfc_client_tag_get_client_target_info();
-       if (target_info == NULL)
-               return NET_NFC_NO_DATA_FOUND;
-
-       if (target_info->devType != NET_NFC_JEWEL_PICC) {
-               DEBUG_CLIENT_MSG("only Jewel tag is available");
-               return NET_NFC_NOT_ALLOWED_OPERATION;
-       }
-
-       if (net_nfc_get_tag_info_value((net_nfc_target_info_h)target_info,
-                               JEWEL_TAG_KEY,
-                               &UID) != NET_NFC_OK) {
-               return NET_NFC_NO_DATA_FOUND;
-       }
-
-
-       if (((data_s*)UID)->length != 4)
-               return NET_NFC_OUT_OF_BOUND;
+       ret = net_nfc_get_tag_info_value_from_key(target_info, JEWEL_TAG_KEY, 4, &UID);
+       if (ret != NET_NFC_OK)
+               return ret;
 
        /* command */
        send_buffer[0] = JEWEL_CMD_READ;
@@ -166,29 +138,13 @@ net_nfc_error_e net_nfc_client_jewel_read_all(net_nfc_target_handle_h handle,
 
        uint8_t send_buffer[9] = {0x00, };
 
-       if (handle == NULL)
-               return NET_NFC_NULL_PARAMETER;
-
-       if (net_nfc_client_tag_is_connected() == FALSE)
-               return NET_NFC_OPERATION_FAIL;
-
-       target_info = net_nfc_client_tag_get_client_target_info();
-       if (target_info == NULL)
-               return NET_NFC_NO_DATA_FOUND;
-
-       if (target_info->devType != NET_NFC_JEWEL_PICC) {
-               DEBUG_CLIENT_MSG("only Jewel tag is available");
-               return NET_NFC_NOT_ALLOWED_OPERATION;
-       }
+       int ret = net_nfc_get_target_info_from_device_type(handle, NET_NFC_JEWEL_PICC, &target_info);
+       if (ret != NET_NFC_OK)
+               return ret;
 
-       if (net_nfc_get_tag_info_value((net_nfc_target_info_h)target_info,
-                               JEWEL_TAG_KEY,
-                               &UID) != NET_NFC_OK) {
-               return NET_NFC_NO_DATA_FOUND;
-       }
-
-       if (((data_s*)UID)->length != 4)
-               return NET_NFC_OUT_OF_BOUND;
+       ret = net_nfc_get_tag_info_value_from_key(target_info, JEWEL_TAG_KEY, 4, &UID);
+       if (ret != NET_NFC_OK)
+               return ret;
 
        /* command */
        send_buffer[0] = JEWEL_CMD_RALL;
@@ -234,27 +190,16 @@ net_nfc_error_e net_nfc_client_jewel_write_with_erase(
 
        uint8_t send_buffer[9] = {0x00, };
 
-       if (handle == NULL)
-               return NET_NFC_NULL_PARAMETER;
+       int ret = net_nfc_get_target_info_from_device_type(handle, NET_NFC_JEWEL_PICC, &target_info);
+       if (ret != NET_NFC_OK)
+               return ret;
 
        if (block > 0xE || byte > 0x7)
                return NET_NFC_OUT_OF_BOUND;
 
-       if (net_nfc_client_tag_is_connected() == FALSE)
-               return NET_NFC_OPERATION_FAIL;
-
-       target_info = net_nfc_client_tag_get_client_target_info();
-       if (target_info == NULL)
-               return NET_NFC_NO_DATA_FOUND;
-
-       if (net_nfc_get_tag_info_value((net_nfc_target_info_h)target_info,
-                               JEWEL_TAG_KEY,
-                               &UID) != NET_NFC_OK) {
-               return NET_NFC_NO_DATA_FOUND;
-       }
-
-       if (((data_s*)UID)->length != 4)
-               return NET_NFC_OUT_OF_BOUND;
+       ret = net_nfc_get_tag_info_value_from_key(target_info, JEWEL_TAG_KEY, 4, &UID);
+       if (ret != NET_NFC_OK)
+               return ret;
 
        /* command */
        send_buffer[0] = JEWEL_CMD_WRITE_E;
@@ -301,32 +246,16 @@ net_nfc_error_e net_nfc_client_jewel_write_with_no_erase(
 
        uint8_t send_buffer[9] = {0x00, };
 
-       if (handle == NULL)
-               return NET_NFC_NULL_PARAMETER;
+       int ret = net_nfc_get_target_info_from_device_type(handle, NET_NFC_JEWEL_PICC, &target_info);
+       if (ret != NET_NFC_OK)
+               return ret;
 
        if (block > 0xE || byte > 0x7)
                return NET_NFC_OUT_OF_BOUND;
 
-       if (net_nfc_client_tag_is_connected() == FALSE)
-               return NET_NFC_OPERATION_FAIL;
-
-       target_info = net_nfc_client_tag_get_client_target_info();
-       if (target_info == NULL)
-               return NET_NFC_NO_DATA_FOUND;
-
-       if (target_info->devType != NET_NFC_JEWEL_PICC) {
-               DEBUG_CLIENT_MSG("only Jewel tag is available");
-               return NET_NFC_NOT_ALLOWED_OPERATION;
-       }
-
-       if (net_nfc_get_tag_info_value((net_nfc_target_info_h)target_info,
-                               JEWEL_TAG_KEY,
-                               &UID) != NET_NFC_OK) {
-               return NET_NFC_NO_DATA_FOUND;
-       }
-
-       if (((data_s*)UID)->length != 4)
-               return NET_NFC_OUT_OF_BOUND;
+       ret = net_nfc_get_tag_info_value_from_key(target_info, JEWEL_TAG_KEY, 4, &UID);
+       if (ret != NET_NFC_OK)
+               return ret;
 
        /* command */
        send_buffer[0] = JEWEL_CMD_WRITE_NE;
old mode 100755 (executable)
new mode 100644 (file)
index 83e5b73..72a64a6
@@ -511,6 +511,75 @@ net_nfc_error_e net_nfc_client_test_set_ee_data_sync(int mode,
        return out_result;
 }
 
+NET_NFC_EXPORT_API
+net_nfc_error_e net_nfc_client_test_test_mode_on_sync(void)
+{
+    net_nfc_error_e out_result = NET_NFC_OK;
+    GError *error = NULL;
+
+    DEBUG_CLIENT_MSG("NFC Test Mode ON SYNC!!!!");
+
+    if (test_proxy == NULL) {
+        if (net_nfc_client_test_init() != NET_NFC_OK) {
+            DEBUG_ERR_MSG("test_proxy fail");
+            return NET_NFC_NOT_INITIALIZED;
+        }
+    }
+
+    /* prevent executing daemon when nfc is off */
+    if (net_nfc_client_manager_is_activated() == false)
+        return NET_NFC_NOT_ACTIVATED;
+
+    if (net_nfc_gdbus_test_call_test_mode_on_sync(test_proxy,
+                    (gint *)&out_result,
+                    NULL,
+                    &error) == FALSE) {
+        if (error != NULL) {
+            DEBUG_ERR_MSG("can not call Test Mode On: %s", error->message);
+            g_error_free(error);
+        }
+
+        out_result = NET_NFC_IPC_FAIL;
+    }
+
+    return out_result;
+}
+
+NET_NFC_EXPORT_API
+net_nfc_error_e net_nfc_client_test_test_mode_off_sync(void)
+{
+    net_nfc_error_e out_result = NET_NFC_OK;
+    GError *error = NULL;
+
+    DEBUG_CLIENT_MSG("NFC Test Mode Off SYNC!!!!");
+
+    if (test_proxy == NULL) {
+        if (net_nfc_client_test_init() != NET_NFC_OK) {
+            DEBUG_ERR_MSG("test_proxy fail");
+            return NET_NFC_NOT_INITIALIZED;
+        }
+    }
+
+    /* prevent executing daemon when nfc is off */
+    if (net_nfc_client_manager_is_activated() == false)
+        return NET_NFC_NOT_ACTIVATED;
+
+    if (net_nfc_gdbus_test_call_test_mode_off_sync(test_proxy,
+                    (gint *)&out_result,
+                    NULL,
+                    &error) == FALSE) {
+        if (error != NULL) {
+            DEBUG_ERR_MSG("can not call Test Mode Off: %s", error->message);
+            g_error_free(error);
+        }
+
+        out_result = NET_NFC_IPC_FAIL;
+    }
+
+    return out_result;
+}
+
+
 NET_NFC_EXPORT_API
 net_nfc_error_e net_nfc_client_test_ese_test(
                        net_nfc_client_test_ese_test_completed callback,
@@ -663,7 +732,7 @@ net_nfc_error_e net_nfc_client_test_init(void)
 
        test_proxy = net_nfc_gdbus_test_proxy_new_for_bus_sync(
                                        G_BUS_TYPE_SYSTEM,
-                                       G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
+                                       G_DBUS_PROXY_FLAGS_NONE,
                                        "org.tizen.NetNfcService",
                                        "/org/tizen/NetNfcService/Test",
                                        NULL,
old mode 100755 (executable)
new mode 100644 (file)
index db80caf..d26c1a7
@@ -422,7 +422,7 @@ net_nfc_error_e net_nfc_client_transceive_init(void)
 
        transceive_proxy = net_nfc_gdbus_transceive_proxy_new_for_bus_sync(
                                        G_BUS_TYPE_SYSTEM,
-                                       G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
+                                       G_DBUS_PROXY_FLAGS_NONE,
                                        "org.tizen.NetNfcService",
                                        "/org/tizen/NetNfcService/Transceive",
                                        NULL,
index 8a940492d17265edcf572cb74aebe4170ca884f5..cdc480e3468d382db6badc127a9280025b799fec 100644 (file)
@@ -114,6 +114,42 @@ int nfc_manager_configure_discovery(int mode)
        /* LCOV_EXCL_STOP */
 }
 
+int nfc_manager_test_mode_on(void)
+{
+       int ret;
+
+       LOG_BEGIN();
+
+       CHECK_SUPPORTED(NFC_FEATURE);
+
+       /* LCOV_EXCL_START */
+       CHECK_INIT();
+       CHECK_ACTIVATED();
+
+       ret = net_nfc_client_test_test_mode_on_sync();
+
+       return nfc_common_convert_error_code(__func__, ret);
+       /* LCOV_EXCL_STOP */
+}
+
+int nfc_manager_test_mode_off(void)
+{
+       int ret;
+
+       LOG_BEGIN();
+
+       CHECK_SUPPORTED(NFC_FEATURE);
+
+       /* LCOV_EXCL_START */
+       CHECK_INIT();
+       CHECK_ACTIVATED();
+
+       ret = net_nfc_client_test_test_mode_off_sync();
+
+       return nfc_common_convert_error_code(__func__, ret);
+       /* LCOV_EXCL_STOP */
+}
+
 bool nfc_manager_is_activated(void)
 {
        int ret;
old mode 100755 (executable)
new mode 100644 (file)
index a476b82..cf37a15
 
 #include "nfc_common.h"
 
+typedef enum {
+       NFC_TAG_OPERATION_FORMAT_NDEF,
+       NFC_TAG_OPERATION_READ_NDEF,
+       NFC_TAG_OPERATION_WRITE_NDEF,
+       NFC_TAG_OPERATION_TRANSCEIVE,
+       NFC_TAG_OPERATION_MIFARE_AUTHENTICATION_WITH_KEYA,
+       NFC_TAG_OPERATION_MIFARE_AUTHENTICATION_WITH_KEYB,
+       NFC_TAG_OPERATION_MIFARE_READ_BLOCK,
+       NFC_TAG_OPERATION_MIFARE_WRITE_BLOCK,
+       NFC_TAG_OPERATION_MIFARE_WRITE_PAGE,
+       NFC_TAG_OPERATION_MIFARE_INCREMENT,
+       NFC_TAG_OPERATION_MIFARE_DECREMENT,
+       NFC_TAG_OPERATION_MIFARE_TRANSFER,
+       NFC_TAG_OPERATION_MIFARE_RESTORE
+} nfc_tag_operation;
+
 /**
  * @brief The default factory key.
  * @details The key is 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
  * @ingroup CAPI_NETWORK_NFC_TAG_MIFARE_MODULE
  */
-const unsigned char NFC_TAG_MIFARE_KEY_DEFAULT[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
+const unsigned char NFC_TAG_MIFARE_KEY_DEFAULT[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
 
 /**
  * @brief The well-known key for tags formatted according to the MIFARE Application Directory (MAD) specification.
  * @details The key is 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5
  * @ingroup CAPI_NETWORK_NFC_TAG_MIFARE_MODULE
  */
-const unsigned char NFC_TAG_MIFARE_KEY_APPLICATION_DIRECTORY[6] = {0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5};
+const unsigned char NFC_TAG_MIFARE_KEY_APPLICATION_DIRECTORY[6] = { 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5 };
 
 /**
  * @brief The well-known key for tags formatted according to the NDEF on Mifare Classic specification.
  * @details The key is 0xD3, 0xF7, 0xD3, 0xF7, 0xD3, 0xF7
  * @ingroup CAPI_NETWORK_NFC_TAG_MIFARE_MODULE
  */
-const unsigned char NFC_TAG_MIFARE_KEY_NFC_FORUM[6] = {0xD3, 0xF7, 0xD3, 0xF7, 0xD3, 0xF7};
+const unsigned char NFC_TAG_MIFARE_KEY_NFC_FORUM[6] = { 0xD3, 0xF7, 0xD3, 0xF7, 0xD3, 0xF7 };
 
 /* LCOV_EXCL_START */
-static void _tag_format_ndef_cb(net_nfc_error_e result,
-       void *user_data)
+static void _tag_format_ndef_cb(net_nfc_error_e result, void *user_data)
 {
        nfc_callback_s *user_param = user_data;
        nfc_tag_format_completed_cb callback = NULL;
@@ -58,71 +73,101 @@ static void _tag_format_ndef_cb(net_nfc_error_e result,
 
        free(user_param);
 }
-/* LCOV_EXCL_STOP */
+static void _tag_read_ndef_cb(net_nfc_error_e result, ndef_message_h message, void* user_data)
+{
+       nfc_callback_s* user_param = user_data;
+       nfc_tag_read_completed_cb callback = NULL;
 
-int nfc_tag_format_ndef(nfc_tag_h tag,
-       unsigned char *key,
-       int key_size,
-       nfc_tag_format_completed_cb callback,
-       void *user_data)
+       LOG_BEGIN();
+
+       if (user_param == NULL) {
+               LOG_ERR("user_data is NULL");
+               return;
+       }
+
+       callback = (nfc_tag_read_completed_cb)user_param->callback;
+
+       if (callback != NULL) {
+               callback(nfc_common_convert_error_code(__func__, result),
+                       (nfc_ndef_message_h)message,
+                       user_param->user_data);
+       }
+
+       free(user_param);
+}
+static void _tag_write_ndef_cb(net_nfc_error_e result, void* user_data)
 {
-       int ret;
-       data_h key_data = NULL;
+       nfc_callback_s* user_param = user_data;
+       nfc_tag_write_completed_cb callback = NULL;
 
        LOG_BEGIN();
 
-       CHECK_SUPPORTED(NFC_TAG_FEATURE);
+       if (user_param == NULL) {
+               LOG_ERR("user_data is NULL");
+               return;
+       }
 
-       /* LCOV_EXCL_START */
-       CHECK_INIT();
-       CHECK_INVALID(tag == NULL);
-       CHECK_ACTIVATED();
-       CHECK_APP_PERMISSION();
+       callback = (nfc_tag_write_completed_cb)user_param->callback;
 
-       ret = net_nfc_create_data(&key_data, key, key_size);
-       if (ret == NET_NFC_OK) {
-               net_nfc_target_handle_h handle = NULL;
+       if (callback != NULL)
+               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
 
-               ret = net_nfc_get_tag_handle((net_nfc_target_info_h)tag,
-                       &handle);
-               if (ret == NET_NFC_OK) {
-                       nfc_callback_s *parameter = NULL;
+       free(user_param);
+}
+static void _tag_transceive_data_cb(net_nfc_error_e result, data_h arg_data, void* user_data)
+{
+       nfc_callback_s* user_param = user_data;
+       nfc_tag_transceive_completed_cb callback = NULL;
 
-                       parameter = (nfc_callback_s *)malloc(sizeof(nfc_callback_s));
+       LOG_BEGIN();
 
-                       if (parameter != NULL) {
-                               parameter->callback = callback;
-                               parameter->user_data = user_data;
+       if (user_param == NULL) {
+               LOG_ERR("user_data is NULL");
+               return;
+       }
 
-                               ret = net_nfc_client_ndef_format(
-                                       handle,
-                                       key_data,
-                                       _tag_format_ndef_cb,
-                                       parameter);
-                               if (ret != NET_NFC_OK)
-                                       free(parameter);
-                       } else {
-                               ret = NET_NFC_ALLOC_FAIL;
-                       }
-               } else {
-                       LOG_ERR("net_nfc_get_tag_handle failed, [%d]", ret);
+       callback = (nfc_tag_transceive_completed_cb)user_param->callback;
+
+       if (callback != NULL) {
+               uint8_t* buffer = NULL;
+               uint32_t length = 0;
+
+               if (result == NET_NFC_OK && arg_data != NULL) {
+                       buffer = net_nfc_get_data_buffer(arg_data);
+                       length = net_nfc_get_data_length(arg_data);
                }
 
-               net_nfc_free_data(key_data);
-       } else {
-               LOG_ERR("net_nfc_create_data failed, [%d]", ret);
+               callback(nfc_common_convert_error_code(__func__, result),
+                       buffer,
+                       length,
+                       user_param->user_data);
        }
 
-       return nfc_common_convert_error_code(__func__, ret);
-       /* LCOV_EXCL_STOP */
+       free(user_param);
 }
+static void _mifare_authenticate_with_keyA_cb(net_nfc_error_e result, void* user_data)
+{
+       nfc_callback_s* user_param = user_data;
+       nfc_mifare_authenticate_with_keyA_completed_cb callback = NULL;
 
-/* LCOV_EXCL_START */
-static void _tag_read_ndef_cb(net_nfc_error_e result, ndef_message_h message,
-       void *user_data)
+       LOG_BEGIN();
+
+       if (user_param == NULL) {
+               LOG_ERR("user_data is NULL");
+               return;
+       }
+
+       callback = (nfc_mifare_authenticate_with_keyA_completed_cb)user_param->callback;
+
+       if (callback != NULL)
+               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
+
+       free(user_param);
+}
+static void _mifare_authenticate_with_keyB_cb(net_nfc_error_e result, void* user_data)
 {
-       nfc_callback_s *user_param = user_data;
-       nfc_tag_read_completed_cb callback = NULL;
+       nfc_callback_suser_param = user_data;
+       nfc_mifare_authenticate_with_keyB_completed_cb callback = NULL;
 
        LOG_BEGIN();
 
@@ -131,89 +176,349 @@ static void _tag_read_ndef_cb(net_nfc_error_e result, ndef_message_h message,
                return;
        }
 
-       callback = (nfc_tag_read_completed_cb)user_param->callback;
+       callback = (nfc_mifare_authenticate_with_keyB_completed_cb)user_param->callback;
+
+       if (callback != NULL)
+               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
+
+       free(user_param);
+}
+static void _mifare_read_block_cb(net_nfc_error_e result, data_h data, void* user_data)
+{
+       nfc_callback_s* user_param = user_data;
+       nfc_mifare_read_block_completed_cb callback;
+
+       LOG_BEGIN();
+
+       if (user_param == NULL) {
+               LOG_ERR("user_data is NULL");
+               return;
+       }
+
+       callback = (nfc_mifare_read_block_completed_cb)user_param->callback;
 
        if (callback != NULL) {
+               uint8_t* buffer = NULL;
+               int length = 0;
+
+               if (result == NET_NFC_OK && data != NULL) {
+                       buffer = net_nfc_get_data_buffer(data);
+                       length = net_nfc_get_data_length(data);
+               }
+
                callback(nfc_common_convert_error_code(__func__, result),
-                       (nfc_ndef_message_h)message,
+                       buffer,
+                       length,
                        user_param->user_data);
        }
 
        free(user_param);
 }
-/* LCOV_EXCL_STOP */
+static void _mifare_write_block_cb(net_nfc_error_e result, void* user_data)
+{
+       nfc_callback_s* user_param = user_data;
+       nfc_mifare_write_block_completed_cb callback = NULL;
 
-int nfc_tag_read_ndef(nfc_tag_h tag,
-       nfc_tag_read_completed_cb callback,
-       void * user_data)
+       LOG_BEGIN();
+
+       if (user_param == NULL) {
+               LOG_ERR("user_data is NULL");
+               return;
+       }
+
+       callback = (nfc_mifare_write_block_completed_cb)user_param->callback;
+
+       if (callback != NULL)
+               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
+
+       free(user_param);
+}
+static void _mifare_write_page_cb(net_nfc_error_e result, void* user_data)
 {
-       int ret;
-       net_nfc_target_handle_h handle = NULL;
+       nfc_callback_s* user_param = user_data;
+       nfc_mifare_write_page_completed_cb callback = NULL;
 
-       CHECK_SUPPORTED(NFC_TAG_FEATURE);
+       LOG_BEGIN();
 
-       /* LCOV_EXCL_START */
-       CHECK_INIT();
-       CHECK_INVALID(tag == NULL);
-       CHECK_ACTIVATED();
+       if (user_param == NULL) {
+               LOG_ERR("user_data is NULL");
+               return;
+       }
+
+       callback = (nfc_mifare_write_page_completed_cb)user_param->callback;
+
+       if (callback != NULL)
+               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
+
+       free(user_param);
+}
+static void _mifare_increment_cb(net_nfc_error_e result, void* user_data)
+{
+       nfc_callback_s* user_param = user_data;
+       nfc_mifare_increment_completed_cb callback = NULL;
+
+       LOG_BEGIN();
+
+       if (user_param == NULL) {
+               LOG_ERR("user_data is NULL");
+               return;
+       }
+
+       callback = (nfc_mifare_increment_completed_cb)user_param->callback;
+
+       if (callback != NULL)
+               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
+
+       free(user_param);
+}
+static void _mifare_decrement_cb(net_nfc_error_e result, void* user_data)
+{
+       nfc_callback_s* user_param = user_data;
+       nfc_mifare_decrement_completed_cb callback = NULL;
+
+       LOG_BEGIN();
+
+       if (user_param == NULL) {
+               LOG_ERR("user_data is NULL");
+               return;
+       }
+
+       callback = (nfc_mifare_decrement_completed_cb)user_param->callback;
+
+       if (callback != NULL)
+               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
+
+       free(user_param);
+}
+static void _mifare_transfer_cb(net_nfc_error_e result, void* user_data)
+{
+       nfc_callback_s* user_param = user_data;
+       nfc_mifare_transfer_completed_cb callback = NULL;
+
+       LOG_BEGIN();
+
+       if (user_param == NULL) {
+               LOG_ERR("user_data is NULL");
+               return;
+       }
+
+       callback = (nfc_mifare_transfer_completed_cb)user_param->callback;
+
+       if (callback != NULL)
+               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
+
+       free(user_param);
+}
+static void _mifare_restore_cb(net_nfc_error_e result, void* user_data)
+{
+       nfc_callback_s* user_param = user_data;
+       nfc_mifare_restore_completed_cb callback = NULL;
+
+       LOG_BEGIN();
+
+       if (user_param == NULL) {
+               LOG_ERR("user_data is NULL");
+               return;
+       }
+
+       callback = (nfc_mifare_restore_completed_cb)user_param->callback;
+
+       if (callback != NULL)
+               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
+
+       free(user_param);
+}
+/* LCOV_EXCL_STOP */
+
+int nfc_tag_process(nfc_tag_h tag, nfc_tag_operation operation, void* data, int index, int value, void* callback, void* user_data)
+{
+       int ret = NET_NFC_OPERATION_FAIL;
+
+       net_nfc_target_handle_h handle = NULL;
 
        ret = net_nfc_get_tag_handle((net_nfc_target_info_h)tag, &handle);
        if (ret == NET_NFC_OK) {
-               nfc_callback_s *parameter = NULL;
+               nfc_callback_sparameter = NULL;
 
-               parameter = (nfc_callback_s *)malloc(sizeof(nfc_callback_s));
+               parameter = (nfc_callback_s*)malloc(sizeof(nfc_callback_s));
 
                if (parameter != NULL) {
                        parameter->callback = callback;
                        parameter->user_data = user_data;
 
-                       ret = net_nfc_client_ndef_read(
-                               handle,
-                               _tag_read_ndef_cb,
-                               parameter);
+                       switch (operation) {
+                       case NFC_TAG_OPERATION_FORMAT_NDEF:
+                               ret = net_nfc_client_ndef_format(
+                                       handle,
+                                       data,
+                                       _tag_format_ndef_cb,
+                                       parameter);
+                               break;
+                       case NFC_TAG_OPERATION_READ_NDEF:
+                               ret = net_nfc_client_ndef_read(
+                                       handle,
+                                       _tag_read_ndef_cb,
+                                       parameter);
+                               break;
+                       case NFC_TAG_OPERATION_WRITE_NDEF:
+                               ret = net_nfc_client_ndef_write(
+                                       handle,
+                                       data,
+                                       _tag_write_ndef_cb,
+                                       parameter);
+                               break;
+                       case NFC_TAG_OPERATION_TRANSCEIVE:
+                               ret = net_nfc_client_transceive_data(
+                                       handle,
+                                       data,
+                                       _tag_transceive_data_cb,
+                                       parameter);
+                               break;
+                       case NFC_TAG_OPERATION_MIFARE_AUTHENTICATION_WITH_KEYA:
+                               ret = net_nfc_client_mifare_authenticate_with_keyA(
+                                       handle,
+                                       index,
+                                       data,
+                                       _mifare_authenticate_with_keyA_cb,
+                                       parameter);
+                               break;
+                       case NFC_TAG_OPERATION_MIFARE_AUTHENTICATION_WITH_KEYB:
+                               ret = net_nfc_client_mifare_authenticate_with_keyB(
+                                       handle,
+                                       index,
+                                       data,
+                                       _mifare_authenticate_with_keyB_cb,
+                                       parameter);
+                               break;
+                       case NFC_TAG_OPERATION_MIFARE_READ_BLOCK:
+                               ret = net_nfc_client_mifare_read(
+                                       handle,
+                                       index,
+                                       _mifare_read_block_cb,
+                                       parameter);
+                               break;
+                       case NFC_TAG_OPERATION_MIFARE_WRITE_BLOCK:
+                               ret = net_nfc_client_mifare_write_block(
+                                       handle,
+                                       index,
+                                       data,
+                                       _mifare_write_block_cb,
+                                       parameter);
+                               break;
+                       case NFC_TAG_OPERATION_MIFARE_WRITE_PAGE:
+                               ret = net_nfc_client_mifare_write_page(
+                                       handle,
+                                       index,
+                                       data,
+                                       _mifare_write_page_cb,
+                                       parameter);
+                               break;
+                       case NFC_TAG_OPERATION_MIFARE_INCREMENT:
+                               ret = net_nfc_client_mifare_increment(
+                                       handle,
+                                       index,
+                                       value,
+                                       _mifare_increment_cb,
+                                       parameter);
+                               break;
+                       case NFC_TAG_OPERATION_MIFARE_DECREMENT:
+                               ret = net_nfc_client_mifare_decrement(
+                                       handle,
+                                       index,
+                                       value,
+                                       _mifare_decrement_cb,
+                                       parameter);
+                               break;
+                       case NFC_TAG_OPERATION_MIFARE_TRANSFER:
+                               ret = net_nfc_client_mifare_transfer(
+                                       handle,
+                                       index,
+                                       _mifare_transfer_cb,
+                                       parameter);
+                               break;
+                       case NFC_TAG_OPERATION_MIFARE_RESTORE:
+                               ret = net_nfc_client_mifare_restore(
+                                       handle,
+                                       index,
+                                       _mifare_restore_cb,
+                                       parameter);
+                               break;
+                       default:
+                               break;
+                       }
+
                        if (ret != NET_NFC_OK)
                                free(parameter);
-               } else {
+               }
+               else {
                        ret = NET_NFC_ALLOC_FAIL;
                }
-       } else {
+       }
+       else {
                LOG_ERR("net_nfc_get_tag_handle failed, [%d]", ret);
        }
 
-       return nfc_common_convert_error_code(__func__, ret);
-       /* LCOV_EXCL_STOP */
+       return ret;
 }
 
-/* LCOV_EXCL_START */
-static void _tag_write_ndef_cb(net_nfc_error_e result,
-       void *user_data)
+int nfc_tag_format_ndef(nfc_tag_h tag,
+       unsigned char* key,
+       int key_size,
+       nfc_tag_format_completed_cb callback,
+       void* user_data)
 {
-       nfc_callback_s *user_param = user_data;
-       nfc_tag_write_completed_cb callback = NULL;
+       int ret;
+       data_h key_data = NULL;
 
        LOG_BEGIN();
 
-       if (user_param == NULL) {
-               LOG_ERR("user_data is NULL");
-               return;
+       CHECK_SUPPORTED(NFC_TAG_FEATURE);
+
+       /* LCOV_EXCL_START */
+       CHECK_INIT();
+       CHECK_INVALID(tag == NULL);
+       CHECK_ACTIVATED();
+       CHECK_APP_PERMISSION();
+
+       ret = net_nfc_create_data(&key_data, key, key_size);
+       if (ret == NET_NFC_OK) {
+               ret = nfc_tag_process(tag, NFC_TAG_OPERATION_FORMAT_NDEF, key_data, 0, 0, callback, user_data);
+
+               net_nfc_free_data(key_data);
+       }
+       else {
+               LOG_ERR("net_nfc_create_data failed, [%d]", ret);
        }
 
-       callback = (nfc_tag_write_completed_cb)user_param->callback;
+       return nfc_common_convert_error_code(__func__, ret);
+       /* LCOV_EXCL_STOP */
+}
 
-       if (callback != NULL)
-               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
+int nfc_tag_read_ndef(nfc_tag_h tag,
+       nfc_tag_read_completed_cb callback,
+       void* user_data)
+{
+       int ret;
 
-       free(user_param);
+       CHECK_SUPPORTED(NFC_TAG_FEATURE);
+
+       /* LCOV_EXCL_START */
+       CHECK_INIT();
+       CHECK_INVALID(tag == NULL);
+       CHECK_ACTIVATED();
+
+       ret = nfc_tag_process(tag, NFC_TAG_OPERATION_READ_NDEF, NULL, 0, 0, callback, user_data);
+
+       return nfc_common_convert_error_code(__func__, ret);
+       /* LCOV_EXCL_STOP */
 }
-/* LCOV_EXCL_STOP */
 
 int nfc_tag_write_ndef(nfc_tag_h tag,
        nfc_ndef_message_h msg,
        nfc_tag_write_completed_cb callback,
-       void *user_data)
+       voiduser_data)
 {
        int ret;
-       net_nfc_target_handle_h handle = NULL;
        unsigned int byte_size = 0;
        uint32_t max_len = 0;
        net_nfc_ndef_card_state_e state = NET_NFC_NDEF_CARD_INVALID;
@@ -250,74 +555,18 @@ int nfc_tag_write_ndef(nfc_tag_h tag,
        if (max_len < byte_size)
                return NFC_ERROR_NO_SPACE_ON_NDEF;
 
-       ret = net_nfc_get_tag_handle((net_nfc_target_info_h)tag, &handle);
-       if (ret == NET_NFC_OK) {
-               nfc_callback_s *parameter = NULL;
-
-               parameter = (nfc_callback_s *)malloc(sizeof(nfc_callback_s));
 
-               if (parameter != NULL) {
-                       parameter->callback = callback;
-                       parameter->user_data = user_data;
-
-                       ret = net_nfc_client_ndef_write(
-                               handle,
-                               msg,
-                               _tag_write_ndef_cb,
-                               parameter);
-                       if (ret != NET_NFC_OK)
-                               free(parameter);
-               } else {
-                       ret = NET_NFC_ALLOC_FAIL;
-               }
-       } else {
-               LOG_ERR("net_nfc_get_tag_handle failed, [%d]", ret);
-       }
+       ret = nfc_tag_process(tag, NFC_TAG_OPERATION_WRITE_NDEF, msg, 0, 0, callback, user_data);
 
        return nfc_common_convert_error_code(__func__, ret);
        /* LCOV_EXCL_STOP */
 }
 
-/* LCOV_EXCL_START */
-static void _tag_transceive_data_cb(net_nfc_error_e result, data_h arg_data,
-       void *user_data)
-{
-       nfc_callback_s *user_param = user_data;
-       nfc_tag_transceive_completed_cb callback = NULL;
-
-       LOG_BEGIN();
-
-       if (user_param == NULL) {
-               LOG_ERR("user_data is NULL");
-               return;
-       }
-
-       callback = (nfc_tag_transceive_completed_cb)user_param->callback;
-
-       if (callback != NULL) {
-               uint8_t *buffer = NULL;
-               uint32_t length = 0;
-
-               if (result == NET_NFC_OK && arg_data != NULL) {
-                       buffer = net_nfc_get_data_buffer(arg_data);
-                       length = net_nfc_get_data_length(arg_data);
-               }
-
-               callback(nfc_common_convert_error_code(__func__, result),
-                       buffer,
-                       length,
-                       user_param->user_data);
-       }
-
-       free(user_param);
-}
-/* LCOV_EXCL_STOP */
-
 int nfc_tag_transceive(nfc_tag_h tag,
-       unsigned char *buffer,
+       unsigned charbuffer,
        int buffer_size,
        nfc_tag_transceive_completed_cb callback,
-       void *user_data)
+       voiduser_data)
 {
        int ret;
        data_h rawdata = NULL;
@@ -334,34 +583,11 @@ int nfc_tag_transceive(nfc_tag_h tag,
 
        ret = net_nfc_create_data(&rawdata, buffer, buffer_size);
        if (ret == NET_NFC_OK) {
-               net_nfc_target_handle_h handle = NULL;
-
-               ret = net_nfc_get_tag_handle((net_nfc_target_info_h)tag, &handle);
-               if (ret == NET_NFC_OK) {
-                       nfc_callback_s *parameter = NULL;
-
-                       parameter = (nfc_callback_s *)malloc(sizeof(nfc_callback_s));
-
-                       if (parameter != NULL) {
-                               parameter->callback = callback;
-                               parameter->user_data = user_data;
-
-                               ret = net_nfc_client_transceive_data(
-                                       handle,
-                                       rawdata,
-                                       _tag_transceive_data_cb,
-                                       parameter);
-                               if (ret != NET_NFC_OK)
-                                       free(parameter);
-                       } else {
-                               ret = NET_NFC_ALLOC_FAIL;
-                       }
-               } else {
-                       LOG_ERR("net_nfc_get_tag_handle failed, [%d]", ret);
-               }
+               ret = nfc_tag_process(tag, NFC_TAG_OPERATION_TRANSCEIVE, rawdata, 0, 0, callback, user_data);
 
                net_nfc_free_data(rawdata);
-       } else {
+       }
+       else {
                LOG_ERR("net_nfc_create_data failed, [%d]", ret);
        }
 
@@ -486,30 +712,6 @@ int nfc_tag_foreach_information(nfc_tag_h tag,
        /* LCOV_EXCL_STOP */
 }
 
-/* FIXME */
-/* LCOV_EXCL_START */
-static void _mifare_authenticate_with_keyA_cb(net_nfc_error_e result,
-       void *user_data)
-{
-       nfc_callback_s *user_param = user_data;
-       nfc_mifare_authenticate_with_keyA_completed_cb callback = NULL;
-
-       LOG_BEGIN();
-
-       if (user_param == NULL) {
-               LOG_ERR("user_data is NULL");
-               return;
-       }
-
-       callback = (nfc_mifare_authenticate_with_keyA_completed_cb)user_param->callback;
-
-       if (callback != NULL)
-               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
-
-       free(user_param);
-}
-/* LCOV_EXCL_STOP */
-
 int nfc_mifare_authenticate_with_keyA(nfc_tag_h tag,
        int sector_index,
        unsigned char *auth_key,
@@ -529,32 +731,7 @@ int nfc_mifare_authenticate_with_keyA(nfc_tag_h tag,
 
        ret = net_nfc_create_data(&auth_key_data, auth_key, 6);
        if (ret == NET_NFC_OK) {
-               net_nfc_target_handle_h handle = NULL;
-
-               ret = net_nfc_get_tag_handle((net_nfc_target_info_h)tag, &handle);
-               if (ret == NET_NFC_OK) {
-                       nfc_callback_s *parameter = NULL;
-
-                       parameter = (nfc_callback_s *)malloc(sizeof(nfc_callback_s));
-
-                       if (parameter != NULL) {
-                               parameter->callback = callback;
-                               parameter->user_data = user_data;
-
-                               ret = net_nfc_client_mifare_authenticate_with_keyA(
-                                       handle,
-                                       sector_index,
-                                       auth_key_data,
-                                       _mifare_authenticate_with_keyA_cb,
-                                       parameter);
-                               if (ret != NET_NFC_OK)
-                                       free(parameter);
-                       } else {
-                               ret = NET_NFC_ALLOC_FAIL;
-                       }
-               } else {
-                       LOG_ERR("net_nfc_get_tag_handle failed, [%d]", ret);
-               }
+               ret = nfc_tag_process(tag, NFC_TAG_OPERATION_MIFARE_AUTHENTICATION_WITH_KEYA, auth_key_data, sector_index, 0, callback, user_data);
 
                net_nfc_free_data(auth_key_data);
        } else {
@@ -565,122 +742,37 @@ int nfc_mifare_authenticate_with_keyA(nfc_tag_h tag,
        /* LCOV_EXCL_STOP */
 }
 
-
-/* LCOV_EXCL_START */
-static void _mifare_authenticate_with_keyB_cb(net_nfc_error_e result,
-       void *user_data)
-{
-       nfc_callback_s *user_param = user_data;
-       nfc_mifare_authenticate_with_keyB_completed_cb callback = NULL;
-
-       LOG_BEGIN();
-
-       if (user_param == NULL) {
-               LOG_ERR("user_data is NULL");
-               return;
-       }
-
-       callback = (nfc_mifare_authenticate_with_keyB_completed_cb)user_param->callback;
-
-       if (callback != NULL)
-               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
-
-       free(user_param);
-}
-/* LCOV_EXCL_STOP */
-
 int nfc_mifare_authenticate_with_keyB(nfc_tag_h tag,
        int sector_index,
        unsigned char *auth_key,
        nfc_mifare_authenticate_with_keyB_completed_cb callback,
        void *user_data)
 {
-       int ret;
-       data_h auth_key_data = NULL;
-
-       LOG_BEGIN();
-
-       CHECK_SUPPORTED(NFC_TAG_FEATURE);
-
-       /* LCOV_EXCL_START */
-       CHECK_INIT();
-       CHECK_INVALID(tag == NULL);
-       CHECK_INVALID(auth_key == NULL);
-       CHECK_ACTIVATED();
-
-       ret = net_nfc_create_data(&auth_key_data, auth_key, 6);
-       if (ret == NET_NFC_OK) {
-               net_nfc_target_handle_h handle = NULL;
-
-               ret = net_nfc_get_tag_handle((net_nfc_target_info_h)tag, &handle);
-               if (ret == NET_NFC_OK) {
-                       nfc_callback_s *parameter = NULL;
-
-                       parameter = (nfc_callback_s *)malloc(sizeof(nfc_callback_s));
-
-                       if (parameter != NULL) {
-                               parameter->callback = callback;
-                               parameter->user_data = user_data;
-
-                               ret = net_nfc_client_mifare_authenticate_with_keyB(
-                                       handle,
-                                       sector_index,
-                                       auth_key_data,
-                                       _mifare_authenticate_with_keyB_cb,
-                                       parameter);
-                               if (ret != NET_NFC_OK)
-                                       free(parameter);
-                       } else {
-                               ret = NET_NFC_ALLOC_FAIL;
-                       }
-               } else {
-                       LOG_ERR("net_nfc_get_tag_handle failed, [%d]", ret);
-               }
-
-               net_nfc_free_data(auth_key_data);
-       } else {
-               LOG_ERR("net_nfc_create_data failed, [%d]", ret);
-       }
-
-       return nfc_common_convert_error_code(__func__, ret);
-       /* LCOV_EXCL_STOP */
-}
-
-/* FIXME */
-/* LCOV_EXCL_START */
-static void _mifare_read_block_cb(net_nfc_error_e result, data_h data,
-       void *user_data)
-{
-       nfc_callback_s *user_param = user_data;
-       nfc_mifare_read_block_completed_cb callback;
-
-       LOG_BEGIN();
-
-       if (user_param == NULL) {
-               LOG_ERR("user_data is NULL");
-               return;
-       }
+       int ret;
+       data_h auth_key_data = NULL;
 
-       callback = (nfc_mifare_read_block_completed_cb)user_param->callback;
+       LOG_BEGIN();
 
-       if (callback != NULL) {
-               uint8_t *buffer = NULL;
-               int length = 0;
+       CHECK_SUPPORTED(NFC_TAG_FEATURE);
 
-               if (result == NET_NFC_OK && data != NULL) {
-                       buffer = net_nfc_get_data_buffer(data);
-                       length = net_nfc_get_data_length(data);
-               }
+       /* LCOV_EXCL_START */
+       CHECK_INIT();
+       CHECK_INVALID(tag == NULL);
+       CHECK_INVALID(auth_key == NULL);
+       CHECK_ACTIVATED();
 
-               callback(nfc_common_convert_error_code(__func__, result),
-                       buffer,
-                       length,
-                       user_param->user_data);
+       ret = net_nfc_create_data(&auth_key_data, auth_key, 6);
+       if (ret == NET_NFC_OK) {
+               ret = nfc_tag_process(tag, NFC_TAG_OPERATION_MIFARE_AUTHENTICATION_WITH_KEYB, auth_key_data, sector_index, 0, callback, user_data);
+
+               net_nfc_free_data(auth_key_data);
+       } else {
+               LOG_ERR("net_nfc_create_data failed, [%d]", ret);
        }
 
-       free(user_param);
+       return nfc_common_convert_error_code(__func__, ret);
+       /* LCOV_EXCL_STOP */
 }
-/* LCOV_EXCL_STOP */
 
 int nfc_mifare_read_block(nfc_tag_h tag,
        int block_index,
@@ -688,7 +780,6 @@ int nfc_mifare_read_block(nfc_tag_h tag,
        void *user_data)
 {
        int ret;
-       net_nfc_target_handle_h handle = NULL;
 
        LOG_BEGIN();
 
@@ -698,29 +789,7 @@ int nfc_mifare_read_block(nfc_tag_h tag,
        CHECK_INIT();
        CHECK_INVALID(tag == NULL);
 
-       ret = net_nfc_get_tag_handle((net_nfc_target_info_h)tag, &handle);
-       if (ret == NET_NFC_OK) {
-               nfc_callback_s *parameter = NULL;
-
-               parameter = (nfc_callback_s *)malloc(sizeof(nfc_callback_s));
-
-               if (parameter != NULL) {
-                       parameter->callback = callback;
-                       parameter->user_data = user_data;
-
-                       ret = net_nfc_client_mifare_read(
-                               handle,
-                               block_index,
-                               _mifare_read_block_cb,
-                               parameter);
-                       if (ret != NET_NFC_OK)
-                               free(parameter);
-               } else {
-                       ret = NET_NFC_ALLOC_FAIL;
-               }
-       } else {
-               LOG_ERR("net_nfc_get_tag_handle failed, [%d]", ret);
-       }
+       ret = nfc_tag_process(tag, NFC_TAG_OPERATION_MIFARE_READ_BLOCK, NULL, block_index, 0, callback, user_data);
 
        return nfc_common_convert_error_code(__func__, ret);
        /* LCOV_EXCL_STOP */
@@ -756,28 +825,6 @@ int nfc_mifare_read_page(nfc_tag_h tag,
        /* LCOV_EXCL_STOP */
 }
 
-/* LCOV_EXCL_START */
-static void _mifare_write_block_cb(net_nfc_error_e result, void *user_data)
-{
-       nfc_callback_s *user_param = user_data;
-       nfc_mifare_write_block_completed_cb callback = NULL;
-
-       LOG_BEGIN();
-
-       if (user_param == NULL) {
-               LOG_ERR("user_data is NULL");
-               return;
-       }
-
-       callback = (nfc_mifare_write_block_completed_cb)user_param->callback;
-
-       if (callback != NULL)
-               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
-
-       free(user_param);
-}
-/* LCOV_EXCL_STOP */
-
 int nfc_mifare_write_block(nfc_tag_h tag,
        int block_index,
        unsigned char *buffer,
@@ -801,33 +848,7 @@ int nfc_mifare_write_block(nfc_tag_h tag,
 
        ret = net_nfc_create_data(&block_data, buffer, buffer_size);
        if (ret == NET_NFC_OK) {
-               net_nfc_target_handle_h handle = NULL;
-
-               ret = net_nfc_get_tag_handle((net_nfc_target_info_h)tag,
-                       &handle);
-               if (ret == NET_NFC_OK) {
-                       nfc_callback_s *parameter = NULL;
-
-                       parameter = (nfc_callback_s *)malloc(sizeof(nfc_callback_s));
-
-                       if (parameter != NULL) {
-                               parameter->callback = callback;
-                               parameter->user_data = user_data;
-
-                               ret = net_nfc_client_mifare_write_block(
-                                       handle,
-                                       block_index,
-                                       block_data,
-                                       _mifare_write_block_cb,
-                                       parameter);
-                               if (ret != NET_NFC_OK)
-                                       free(parameter);
-                       } else {
-                               ret = NET_NFC_ALLOC_FAIL;
-                       }
-               } else {
-                       LOG_ERR("net_nfc_get_tag_handle failed, [%d]", ret);
-               }
+               ret = nfc_tag_process(tag, NFC_TAG_OPERATION_MIFARE_WRITE_BLOCK, block_data, block_index, 0, callback, user_data);
 
                net_nfc_free_data(block_data);
        } else {
@@ -838,28 +859,6 @@ int nfc_mifare_write_block(nfc_tag_h tag,
        /* LCOV_EXCL_STOP */
 }
 
-/* LCOV_EXCL_START */
-static void _mifare_write_page_cb(net_nfc_error_e result, void *user_data)
-{
-       nfc_callback_s *user_param = user_data;
-       nfc_mifare_write_page_completed_cb callback = NULL;
-
-       LOG_BEGIN();
-
-       if (user_param == NULL) {
-               LOG_ERR("user_data is NULL");
-               return;
-       }
-
-       callback = (nfc_mifare_write_page_completed_cb)user_param->callback;
-
-       if (callback != NULL)
-               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
-
-       free(user_param);
-}
-/* LCOV_EXCL_STOP */
-
 int nfc_mifare_write_page(nfc_tag_h tag,
        int page_index,
        unsigned char *buffer,
@@ -882,33 +881,7 @@ int nfc_mifare_write_page(nfc_tag_h tag,
 
        ret = net_nfc_create_data(&block_data, buffer, buffer_size);
        if (ret == NET_NFC_OK) {
-               net_nfc_target_handle_h handle = NULL;
-
-               ret = net_nfc_get_tag_handle((net_nfc_target_info_h)tag,
-                       &handle);
-               if (ret == NET_NFC_OK) {
-                       nfc_callback_s *parameter = NULL;
-
-                       parameter = (nfc_callback_s *)malloc(sizeof(nfc_callback_s));
-
-                       if (parameter != NULL) {
-                               parameter->callback = callback;
-                               parameter->user_data = user_data;
-
-                               ret = net_nfc_client_mifare_write_page(
-                                       handle,
-                                       page_index,
-                                       block_data,
-                                       _mifare_write_page_cb,
-                                       parameter);
-                               if (ret != NET_NFC_OK)
-                                       free(parameter);
-                       } else {
-                               ret = NET_NFC_ALLOC_FAIL;
-                       }
-               } else {
-                       LOG_ERR("net_nfc_get_tag_handle failed, [%d]", ret);
-               }
+               ret = nfc_tag_process(tag, NFC_TAG_OPERATION_MIFARE_WRITE_BLOCK, block_data, page_index, 0, callback, user_data);
 
                net_nfc_free_data(block_data);
        } else {
@@ -919,28 +892,6 @@ int nfc_mifare_write_page(nfc_tag_h tag,
        /* LCOV_EXCL_STOP */
 }
 
-/* LCOV_EXCL_START */
-static void _mifare_increment_cb(net_nfc_error_e result, void *user_data)
-{
-       nfc_callback_s *user_param = user_data;
-       nfc_mifare_increment_completed_cb callback = NULL;
-
-       LOG_BEGIN();
-
-       if (user_param == NULL) {
-               LOG_ERR("user_data is NULL");
-               return;
-       }
-
-       callback = (nfc_mifare_increment_completed_cb)user_param->callback;
-
-       if (callback != NULL)
-               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
-
-       free(user_param);
-}
-/* LCOV_EXCL_STOP */
-
 int nfc_mifare_increment(nfc_tag_h tag,
        int block_index,
        int value,
@@ -948,7 +899,6 @@ int nfc_mifare_increment(nfc_tag_h tag,
        void *user_data)
 {
        int ret;
-       net_nfc_target_handle_h handle = NULL;
 
        LOG_BEGIN();
 
@@ -959,57 +909,12 @@ int nfc_mifare_increment(nfc_tag_h tag,
        CHECK_INVALID(tag == NULL);
        CHECK_ACTIVATED();
 
-       ret = net_nfc_get_tag_handle((net_nfc_target_info_h)tag, &handle);
-       if (ret == NET_NFC_OK) {
-               nfc_callback_s *parameter = NULL;
-
-               parameter = (nfc_callback_s *)malloc(sizeof(nfc_callback_s));
-
-               if (parameter != NULL) {
-                       parameter->callback = callback;
-                       parameter->user_data = user_data;
-
-                       ret = net_nfc_client_mifare_increment(
-                               handle,
-                               block_index,
-                               value,
-                               _mifare_increment_cb,
-                               parameter);
-                       if (ret != NET_NFC_OK)
-                               free(parameter);
-               } else {
-                       ret = NET_NFC_ALLOC_FAIL;
-               }
-       } else {
-               LOG_ERR("net_nfc_get_tag_handle failed, [%d]", ret);
-       }
+       ret = nfc_tag_process(tag, NFC_TAG_OPERATION_MIFARE_INCREMENT, NULL, block_index, value, callback, user_data);
 
        return nfc_common_convert_error_code(__func__, ret);
        /* LCOV_EXCL_STOP */
 }
 
-/* LCOV_EXCL_START */
-static void _mifare_decrement_cb(net_nfc_error_e result, void *user_data)
-{
-       nfc_callback_s *user_param = user_data;
-       nfc_mifare_decrement_completed_cb callback = NULL;
-
-       LOG_BEGIN();
-
-       if (user_param == NULL) {
-               LOG_ERR("user_data is NULL");
-               return;
-       }
-
-       callback = (nfc_mifare_decrement_completed_cb)user_param->callback;
-
-       if (callback != NULL)
-               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
-
-       free(user_param);
-}
-/* LCOV_EXCL_STOP */
-
 int nfc_mifare_decrement(nfc_tag_h tag,
        int block_index,
        int value,
@@ -1017,7 +922,6 @@ int nfc_mifare_decrement(nfc_tag_h tag,
        void *user_data)
 {
        int ret;
-       net_nfc_target_handle_h handle = NULL;
 
        LOG_BEGIN();
 
@@ -1028,64 +932,18 @@ int nfc_mifare_decrement(nfc_tag_h tag,
        CHECK_INVALID(tag == NULL);
        CHECK_ACTIVATED();
 
-       ret = net_nfc_get_tag_handle((net_nfc_target_info_h)tag, &handle);
-       if (ret == NET_NFC_OK) {
-               nfc_callback_s *parameter = NULL;
-
-               parameter = (nfc_callback_s *)malloc(sizeof(nfc_callback_s));
-
-               if (parameter != NULL) {
-                       parameter->callback = callback;
-                       parameter->user_data = user_data;
-
-                       ret = net_nfc_client_mifare_decrement(
-                               handle,
-                               block_index,
-                               value,
-                               _mifare_decrement_cb,
-                               parameter);
-                       if (ret != NET_NFC_OK)
-                               free(parameter);
-               } else {
-                       ret = NET_NFC_ALLOC_FAIL;
-               }
-       } else {
-               LOG_ERR("net_nfc_get_tag_handle failed, [%d]", ret);
-       }
+       ret = nfc_tag_process(tag, NFC_TAG_OPERATION_MIFARE_DECREMENT, NULL, block_index, value, callback, user_data);
 
        return nfc_common_convert_error_code(__func__, ret);
        /* LCOV_EXCL_STOP */
 }
 
-/* LCOV_EXCL_START */
-static void _mifare_transfer_cb(net_nfc_error_e result, void *user_data)
-{
-       nfc_callback_s *user_param = user_data;
-       nfc_mifare_transfer_completed_cb callback = NULL;
-
-       LOG_BEGIN();
-
-       if (user_param == NULL) {
-               LOG_ERR("user_data is NULL");
-               return;
-       }
-
-       callback = (nfc_mifare_transfer_completed_cb)user_param->callback;
-
-       if (callback != NULL)
-               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
-
-       free(user_param);
-}
-/* LCOV_EXCL_STOP */
-
 int nfc_mifare_transfer(nfc_tag_h tag,
        int block_index,
        nfc_mifare_transfer_completed_cb callback,
        void *user_data)
 {
        int ret;
-       net_nfc_target_handle_h handle = NULL;
 
        LOG_BEGIN();
 
@@ -1096,63 +954,18 @@ int nfc_mifare_transfer(nfc_tag_h tag,
        CHECK_INVALID(tag == NULL);
        CHECK_ACTIVATED();
 
-       ret = net_nfc_get_tag_handle((net_nfc_target_info_h)tag, &handle);
-       if (ret == NET_NFC_OK) {
-               nfc_callback_s *parameter = NULL;
-
-               parameter = (nfc_callback_s *)malloc(sizeof(nfc_callback_s));
-
-               if (parameter != NULL) {
-                       parameter->callback = callback;
-                       parameter->user_data = user_data;
-
-                       ret = net_nfc_client_mifare_transfer(
-                               handle,
-                               block_index,
-                               _mifare_transfer_cb,
-                               parameter);
-                       if (ret != NET_NFC_OK)
-                               free(parameter);
-               } else {
-                       ret = NET_NFC_ALLOC_FAIL;
-               }
-       } else {
-               LOG_ERR("net_nfc_get_tag_handle failed, [%d]", ret);
-       }
+       ret = nfc_tag_process(tag, NFC_TAG_OPERATION_MIFARE_TRANSFER, NULL, block_index, 0, callback, user_data);
 
        return nfc_common_convert_error_code(__func__, ret);
        /* LCOV_EXCL_STOP */
 }
 
-/* LCOV_EXCL_START */
-static void _mifare_restore_cb(net_nfc_error_e result, void *user_data)
-{
-       nfc_callback_s *user_param = user_data;
-       nfc_mifare_restore_completed_cb callback = NULL;
-
-       LOG_BEGIN();
-
-       if (user_param == NULL) {
-               LOG_ERR("user_data is NULL");
-               return;
-       }
-
-       callback = (nfc_mifare_restore_completed_cb)user_param->callback;
-
-       if (callback != NULL)
-               callback(nfc_common_convert_error_code(__func__, result), user_param->user_data);
-
-       free(user_param);
-}
-/* LCOV_EXCL_STOP */
-
 int nfc_mifare_restore(nfc_tag_h tag,
        int block_index,
        nfc_mifare_restore_completed_cb callback,
        void *user_data)
 {
        int ret;
-       net_nfc_target_handle_h handle = NULL;
 
        LOG_BEGIN();
 
@@ -1163,29 +976,7 @@ int nfc_mifare_restore(nfc_tag_h tag,
        CHECK_INVALID(tag == NULL);
        CHECK_ACTIVATED();
 
-       ret = net_nfc_get_tag_handle((net_nfc_target_info_h)tag, &handle);
-       if (ret == NET_NFC_OK) {
-               nfc_callback_s *parameter = NULL;
-
-               parameter = (nfc_callback_s *)malloc(sizeof(nfc_callback_s));
-
-               if (parameter != NULL) {
-                       parameter->callback = callback;
-                       parameter->user_data = user_data;
-
-                       ret = net_nfc_client_mifare_restore(
-                               handle,
-                               block_index,
-                               _mifare_restore_cb,
-                               parameter);
-                       if (ret != NET_NFC_OK)
-                               free(parameter);
-               } else {
-                       ret = NET_NFC_ALLOC_FAIL;
-               }
-       } else {
-               LOG_ERR("net_nfc_get_tag_handle failed, [%d]", ret);
-       }
+       ret = nfc_tag_process(tag, NFC_TAG_OPERATION_MIFARE_RESTORE, NULL, block_index, 0, callback, user_data);
 
        return nfc_common_convert_error_code(__func__, ret);
        /* LCOV_EXCL_STOP */
old mode 100755 (executable)
new mode 100644 (file)
index fbfef69..23d2012
@@ -8,12 +8,13 @@
 #include <nfc_internal.h>
 
 #define BUFFER_LEN 10
-#define PRT(format, args...) printf("%s:%d() "format, __FUNCTION__, __LINE__, ##args)
-#define TC_PRT(format, args...) PRT(format"\n", ##args)
+#define PRT(format, args...) printf("%s:%d() " format, __FUNCTION__, __LINE__, ##args)
+#define TC_PRT(format, args...) PRT(format "\n", ##args)
 
 GMainLoop *main_loop = NULL;
 
-typedef struct {
+typedef struct
+{
        const char *tc_name;
        int tc_code;
 } tc_table_t;
@@ -21,24 +22,29 @@ typedef struct {
 tc_table_t tc_table[] = {
        /* manage api*/
        {"NFC Initialize Test", 1},
-       {"NFC Configure discovery (CE only) Test", 2},
-       {"NFC Configure discovery (Tag only) Test", 3},
-       {"NFC Tag NDEF Read", 4},
-       {"NFC Tag NDEF Write", 5},
-       {"NFC Deinitialize Test", 6},
-       {"NFC Configure discovery (ALL enable) Test", 7},
-       {"NFC Configure discovery (ALL disable) Test", 8},
+       {"NFC Enable Test", 2},
+       {"NFC Disable Test", 3},
+       {"NFC Configure discovery (CE only) Test", 4},
+       {"NFC Configure discovery (Tag only) Test", 5},
+       {"NFC Tag NDEF Read", 6},
+       {"NFC Tag NDEF Write", 7},
+       {"NFC Test Mode ON", 8},
+       {"NFC Test Mode OFF", 9},
+       {"NFC Deinitialize Test", 10},
+       {"NFC Configure discovery (ALL enable) Test", 11},
+       {"NFC Configure discovery (ALL disable) Test", 12},
 
        /* -----------*/
-       {"Finish"               , 0x00ff},
-       {NULL                   , 0x0000},
+       {"Finish", 0x00ff},
+       {NULL, 0x0000},
 };
 
 void tc_usage_print(void)
 {
        int i = 0;
 
-       while (tc_table[i].tc_name) {
+       while (tc_table[i].tc_name)
+       {
                if (tc_table[i].tc_code != 0x00ff)
                        TC_PRT("Key %d : usage %s", tc_table[i].tc_code, tc_table[i].tc_name);
                else
@@ -50,21 +56,25 @@ void tc_usage_print(void)
 
 void __tag_read_completed(nfc_error_e result, nfc_ndef_message_h message, void *user_data)
 {
-       if (result == NFC_ERROR_NONE) {
+       if (result == NFC_ERROR_NONE)
+       {
                int count = 0;
                nfc_ndef_message_get_record_count(message, &count);
                TC_PRT("tag read successful");
                TC_PRT("record count : %d", count);
 
-               if (count > 0) {
+               if (count > 0)
+               {
                        nfc_ndef_record_h record = NULL;
                        int ret = nfc_ndef_message_get_record(message, 0, &record);
-                       if (ret != NFC_ERROR_NONE) {
+                       if (ret != NFC_ERROR_NONE)
+                       {
                                TC_PRT("fail to get record from ndef message: %d", ret);
                                return;
                        }
 
-                       if (record != NULL) {
+                       if (record != NULL)
+                       {
                                char *lang_code = NULL;
                                int id_size = 0;
                                int type_size = 0;
@@ -80,8 +90,9 @@ void __tag_read_completed(nfc_error_e result, nfc_ndef_message_h message, void *
                                nfc_ndef_record_get_type(record, &type, &type_size);
                                TC_PRT("3. type : %s, type_size : %d", type, type_size);
 
-                               if (strcmp((const char *)type, "T") == 0) {
-                                       char* text = NULL;
+                               if (strcmp((const char *)type, "T") == 0)
+                               {
+                                       char *text = NULL;
                                        nfc_ndef_record_get_text(record, &text);
 
                                        TC_PRT("3. This record is Text record.");
@@ -91,7 +102,9 @@ void __tag_read_completed(nfc_error_e result, nfc_ndef_message_h message, void *
                                TC_PRT("----* record 0 information end *----");
                        }
                }
-       } else {
+       }
+       else
+       {
                TC_PRT("tag read error : %d", result);
        }
 }
@@ -106,7 +119,8 @@ void __tag_write_completed(nfc_error_e result, void *user_data)
 
 void __tag_discovered(nfc_discovered_type_e type, nfc_tag_h tag, void *user_data)
 {
-       if (type == NFC_DISCOVERED_TYPE_ATTACHED) {
+       if (type == NFC_DISCOVERED_TYPE_ATTACHED)
+       {
                nfc_tag_type_e tag_type = NFC_UNKNOWN_TARGET;
                bool is_support_ndef = false;
 
@@ -117,13 +131,14 @@ void __tag_discovered(nfc_discovered_type_e type, nfc_tag_h tag, void *user_data
 
                nfc_tag_is_support_ndef(tag, &is_support_ndef);
                TC_PRT("NDEF is supported? : %d", is_support_ndef);
-
-       } else if (type == NFC_DISCOVERED_TYPE_DETACHED) {
+       }
+       else if (type == NFC_DISCOVERED_TYPE_DETACHED)
+       {
                TC_PRT("tag detached!!!");
        }
 }
 
-char* nfc_util_itoa(char* fmt, ...)
+char *nfc_util_itoa(char *fmt, ...)
 {
        char str[128];
        va_list arguments;
@@ -139,7 +154,7 @@ nfc_ndef_message_h __create_ndef_message()
        nfc_ndef_message_h msg = NULL;
        nfc_ndef_record_h ndef_name_record = NULL;
        unsigned int seed = time(NULL);
-       chartime_str = nfc_util_itoa("The random text : %d", rand_r(&seed));
+       char *time_str = nfc_util_itoa("The random text : %d", rand_r(&seed));
 
        nfc_ndef_message_create(&msg);
        nfc_ndef_record_create_text(&ndef_name_record, time_str, "en-US", NFC_ENCODE_UTF_8);
@@ -149,104 +164,142 @@ nfc_ndef_message_h __create_ndef_message()
        return msg;
 }
 
+void _nfc_activation_completed_cb(nfc_error_e error, void *user_data)
+{
+       if (error == NFC_ERROR_NONE)
+               TC_PRT("Set Activation Successful");
+       else
+               TC_PRT("Set Activation Failed. Result : %d", error);
+}
+
 int test_input_callback(void *data)
 {
        int ret = 0;
        long test_id = (long)data;
 
-       switch (test_id) {
+       switch (test_id)
+       {
        case 0x00ff:
                TC_PRT("Finished");
                g_main_loop_quit(main_loop);
                break;
        case 1:
-               {
-                       TC_PRT("nfc initialize start");
-                       ret = nfc_manager_initialize();
-                       if (ret == NFC_ERROR_NONE)
-                               TC_PRT("NFC Initialize successful");
-                       else
-                               TC_PRT("NFC Error occur : %d", ret);
+       {
+               TC_PRT("nfc initialize start");
+               ret = nfc_manager_initialize();
+               if (ret == NFC_ERROR_NONE)
+                       TC_PRT("NFC Initialize successful");
+               else
+                       TC_PRT("NFC Error occur : %d", ret);
 
-                       nfc_manager_set_tag_discovered_cb(__tag_discovered, NULL);
-                       TC_PRT("nfc initialize end");
-               }
-               break;
+               nfc_manager_set_tag_discovered_cb(__tag_discovered, NULL);
+               TC_PRT("nfc initialize end");
+       }
+       break;
        case 2:
-               {
-                       TC_PRT("nfc configure discovery : CE only start");
-                       ret = nfc_manager_configure_discovery(NFC_DISCOVERY_MODE_CONFIG_LISTENING);
-                       TC_PRT("nfc configure discovery : CE only end : %d", ret);
-               }
-               break;
+       {
+               TC_PRT("nfc enable start");
+               ret = nfc_manager_set_activation(true, _nfc_activation_completed_cb, NULL);
+               TC_PRT("nfc_manager_set_activation end : %d", ret);
+       }
+       break;
        case 3:
-               {
-                       TC_PRT("nfc configure discovery : Tag only start");
-                       ret = nfc_manager_configure_discovery(NFC_DISCOVERY_MODE_CONFIG_POLLING);
-                       TC_PRT("nfc configure discovery : Tag only end : %d", ret);
-               }
-               break;
+       {
+               TC_PRT("nfc disable start");
+               ret = nfc_manager_set_activation(false, _nfc_activation_completed_cb, NULL);
+               TC_PRT("nfc_manager_set_activation end : %d", ret);
+       }
+       break;
        case 4:
-               {
-                       TC_PRT("Tag read start");
-                       nfc_tag_h current_tag = NULL;
-                       nfc_manager_get_connected_tag(&current_tag);
-
-                       if (current_tag != NULL)
-                               ret = nfc_tag_read_ndef(current_tag, __tag_read_completed, NULL);
-                       else
-                               TC_PRT("Tag Not Connected");
-
-                       TC_PRT("Tag read end");
-               }
-               break;
+       {
+               TC_PRT("nfc configure discovery : CE only start");
+               ret = nfc_manager_configure_discovery(NFC_DISCOVERY_MODE_CONFIG_LISTENING);
+               TC_PRT("nfc configure discovery : CE only end : %d", ret);
+       }
+       break;
        case 5:
-               {
-                       TC_PRT("Tag write start");
-
-                       nfc_tag_h current_tag = NULL;
-                       nfc_manager_get_connected_tag(&current_tag);
-                       nfc_ndef_message_h msg = __create_ndef_message();
-
-                       if (msg != NULL) {
-                               if (current_tag != NULL)
-                                       ret = nfc_tag_write_ndef(current_tag, msg, __tag_write_completed, NULL);
-                               else
-                                       TC_PRT("Tag Not Connected.");
-                       } else {
-                               TC_PRT("NDEF Message create is failed.");
-                       }
-
-                       TC_PRT("Tag write end");
-               }
-               break;
+       {
+               TC_PRT("nfc configure discovery : Tag only start");
+               ret = nfc_manager_configure_discovery(NFC_DISCOVERY_MODE_CONFIG_POLLING);
+               TC_PRT("nfc configure discovery : Tag only end : %d", ret);
+       }
+       break;
        case 6:
-               {
-                       TC_PRT("nfc deinitialize start");
+       {
+               TC_PRT("Tag read start");
+               nfc_tag_h current_tag = NULL;
+               nfc_manager_get_connected_tag(&current_tag);
 
-                       ret = nfc_manager_deinitialize();
-                       if (ret == NFC_ERROR_NONE)
-                               TC_PRT("NFC Deinitialize successful");
-                       else
-                               TC_PRT("NFC Error occur : %d", ret);
+               if (current_tag != NULL)
+                       ret = nfc_tag_read_ndef(current_tag, __tag_read_completed, NULL);
+               else
+                       TC_PRT("Tag Not Connected");
 
-                       TC_PRT("nfc deinitialize end");
-               }
-               break;
+               TC_PRT("Tag read end");
+       }
+       break;
        case 7:
+       {
+               TC_PRT("Tag write start");
+
+               nfc_tag_h current_tag = NULL;
+               nfc_manager_get_connected_tag(&current_tag);
+               nfc_ndef_message_h msg = __create_ndef_message();
+
+               if (msg != NULL)
                {
-                       TC_PRT("nfc configure discovery : All enable start");
-                       ret = nfc_manager_configure_discovery(NFC_DISCOVERY_MODE_RESUME);
-                       TC_PRT("nfc configure discovery : All enable end : %d", ret);
+                       if (current_tag != NULL)
+                               ret = nfc_tag_write_ndef(current_tag, msg, __tag_write_completed, NULL);
+                       else
+                               TC_PRT("Tag Not Connected.");
                }
-               break;
-       case 8:
+               else
                {
-                       TC_PRT("nfc configure discovery : All disable start");
-                       ret = nfc_manager_configure_discovery(NFC_DISCOVERY_MODE_STOP);
-                       TC_PRT("nfc configure discovery : All enable end : %d", ret);
+                       TC_PRT("NDEF Message create is failed.");
                }
-               break;
+
+               TC_PRT("Tag write end");
+       }
+       break;
+       case 8:
+       {
+               TC_PRT("Test Mode ON");
+               nfc_manager_test_mode_on();
+       }
+       break;
+       case 9:
+       {
+               TC_PRT("Test Mode OFF");
+               nfc_manager_test_mode_off();
+       }
+       break;
+       case 10:
+       {
+               TC_PRT("nfc deinitialize start");
+
+               ret = nfc_manager_deinitialize();
+               if (ret == NFC_ERROR_NONE)
+                       TC_PRT("NFC Deinitialize successful");
+               else
+                       TC_PRT("NFC Error occur : %d", ret);
+
+               TC_PRT("nfc deinitialize end");
+       }
+       break;
+       case 11:
+       {
+               TC_PRT("nfc configure discovery : All enable start");
+               ret = nfc_manager_configure_discovery(NFC_DISCOVERY_MODE_RESUME);
+               TC_PRT("nfc configure discovery : All enable end : %d", ret);
+       }
+       break;
+       case 12:
+       {
+               TC_PRT("nfc configure discovery : All disable start");
+               ret = nfc_manager_configure_discovery(NFC_DISCOVERY_MODE_STOP);
+               TC_PRT("nfc configure discovery : All enable end : %d", ret);
+       }
+       break;
        default:
                tc_usage_print();
                break;
@@ -256,10 +309,10 @@ int test_input_callback(void *data)
 }
 
 static gboolean key_event_cb(GIOChannel *chan,
-               GIOCondition cond,
-               gpointer data)
+                                                        GIOCondition cond,
+                                                        gpointer data)
 {
-       char buf[BUFFER_LEN] = { 0 };
+       char buf[BUFFER_LEN] = {0};
 
        gsize len = 0;
        long test_id;
@@ -277,8 +330,7 @@ static gboolean key_event_cb(GIOChannel *chan,
        return TRUE;
 }
 
-
-int main(int argc, char ** argv)
+int main(int argc, char **argv)
 {
        GIOChannel *key_io;
 
@@ -290,7 +342,7 @@ int main(int argc, char ** argv)
        g_io_channel_set_flags(key_io, G_IO_FLAG_NONBLOCK, NULL);
 
        g_io_add_watch(key_io, G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
-               key_event_cb, NULL);
+                                  key_event_cb, NULL);
 
        g_io_channel_unref(key_io);