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
/* 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 {
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)
if (config == NULL)
return NET_NFC_NULL_PARAMETER;
+
+ CHECK_INITIALIZED();
- 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;
- }
-
- 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));
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));
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) {
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),
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");
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,
{
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");
+ CHECK_INITIALIZED();
- 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_accept(llcp_proxy,
GPOINTER_TO_UINT(llcp_handle),
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),
{
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),
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),
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) {
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),
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) {
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,
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) {
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),
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) {
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,
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) {
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);
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) {
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,
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) {
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);
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) {
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,
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) {
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),
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) {
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,
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) {
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),
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) {
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,
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) {
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),
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) {
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,
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) {
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),
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) {
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,
/* 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 {
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,
{
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,
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)
#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)
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)
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)
{
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,
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 */
{
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,
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 */
{
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,
*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 */
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 */
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,
*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 */
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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)
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
#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;
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_s* user_param = user_data;
+ nfc_mifare_authenticate_with_keyB_completed_cb callback = NULL;
LOG_BEGIN();
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_s* parameter = 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)
+ void* user_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;
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 char* buffer,
int buffer_size,
nfc_tag_transceive_completed_cb callback,
- void *user_data)
+ void* user_data)
{
int ret;
data_h rawdata = NULL;
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);
}
/* 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,
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 {
/* 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,
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;
- }
+ 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,
void *user_data)
{
int ret;
- net_nfc_target_handle_h handle = NULL;
LOG_BEGIN();
/* LCOV_EXCL_START */
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 */
/* 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,
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 {
/* 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,
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 {
/* 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,
void *user_data)
{
int ret;
- net_nfc_target_handle_h handle = NULL;
LOG_BEGIN();
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,
void *user_data)
{
int ret;
- net_nfc_target_handle_h handle = NULL;
LOG_BEGIN();
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();
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();
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 */