g_free(func_data);
}
-
-/* Public APIs */
-API net_nfc_error_e net_nfc_client_llcp_config(net_nfc_llcp_config_info_s *config,
- net_nfc_client_llcp_config_completed callback, void *user_data)
-{
- GVariant *var;
- LlcpFuncData *func_data;
-
- RETV_IF(NULL == llcp_proxy, NET_NFC_NOT_INITIALIZED);
- RETV_IF(NULL == config, NET_NFC_NULL_PARAMETER);
-
- /* prevent executing daemon when nfc is off */
- RETV_IF(net_nfc_client_manager_is_activated() == false, NET_NFC_INVALID_STATE);
-
- func_data = g_new0(LlcpFuncData, 1);
- if (func_data == NULL)
- {
- NFC_ERR("g_new0 failed");
- return NET_NFC_ALLOC_FAIL;
- }
-
- func_data->callback = (gpointer)callback;
- func_data->user_data = user_data;
-
- memcpy(&llcp_config, config, sizeof(net_nfc_llcp_config_info_s));
-
- var = g_variant_new("(qqyy)", config->miu, config->wks, config->lto, config->option);
-
- net_nfc_gdbus_llcp_call_config(llcp_proxy, var, net_nfc_client_gdbus_get_privilege(),
- NULL, llcp_call_config, func_data);
-
- return NET_NFC_OK;
-}
-
-API net_nfc_error_e net_nfc_client_llcp_config_sync(
- net_nfc_llcp_config_info_s *config)
-{
- gboolean ret;
- GVariant *var = NULL;
- GError *error = NULL;
- net_nfc_error_e result;
-
- RETV_IF(NULL == llcp_proxy, NET_NFC_NOT_INITIALIZED);
-
- /* prevent executing daemon when nfc is off */
- RETV_IF(net_nfc_client_manager_is_activated() == false, NET_NFC_INVALID_STATE);
-
- memcpy(&llcp_config, config, sizeof(net_nfc_llcp_config_info_s));
-
- var = g_variant_new("(qqyy)", config->miu, config->wks, config->lto, config->option);
-
- ret = net_nfc_gdbus_llcp_call_config_sync(llcp_proxy, var,
- net_nfc_client_gdbus_get_privilege(), &result, NULL, &error);
- if (FALSE == ret)
- {
- NFC_ERR("can not config: %s", error->message);
- g_error_free(error);
- result = NET_NFC_IPC_FAIL;
- }
-
- return result;
-}
-
API net_nfc_error_e net_nfc_client_llcp_get_config(
net_nfc_llcp_config_info_s **config)
{
}
NFC_INFO("net_nfc_contorller_register_listener success");
-
- result = net_nfc_server_llcp_set_config(NULL);
-
- if (result != NET_NFC_OK)
- NFC_ERR("net_nfc_server_llcp_set config failed, [%d]", result);
-
- NFC_INFO("net_nfc_server_llcp_set_config success");
}
#ifndef ESE_ALWAYS_ON
}
}
-bool net_nfc_controller_llcp_config(net_nfc_llcp_config_info_s *config,
- net_nfc_error_e *result)
-{
- if (g_interface.config_llcp != NULL)
- {
- return g_interface.config_llcp(config, result);
- }
- else
- {
- NFC_ERR("interface is null");
- *result = NET_NFC_DEVICE_DOES_NOT_SUPPORT_NFC;
- return false;
- }
-}
bool net_nfc_controller_llcp_check_llcp(net_nfc_target_handle_s *handle,
net_nfc_error_e *result)
{
g_free(llcp_data);
}
-
-static void llcp_handle_config_thread_func(gpointer user_data)
-{
- net_nfc_error_e result;
- LlcpConfigData *data = user_data;
- net_nfc_llcp_config_info_s config;
-
- g_assert(data != NULL);
- g_assert(data->llcp != NULL);
- g_assert(data->invocation != NULL);
-
- config.miu = data->miu;
- config.wks = data->wks;
- config.lto = data->lto;
- config.option = data->option;
-
- result = net_nfc_server_llcp_set_config(&config);
-
- net_nfc_gdbus_llcp_complete_config(data->llcp, data->invocation, result);
-
- g_object_unref(data->invocation);
- g_object_unref(data->llcp);
-
- g_free(data);
-}
-
static void llcp_handle_listen_thread_func(gpointer user_data)
{
bool ret;
}
}
-
-static gboolean llcp_handle_config(NetNfcGDbusLlcp *llcp,
- GDBusMethodInvocation *invocation,
- GVariant *arg_config,
- GVariant *smack_privilege,
- gpointer user_data)
-{
- bool ret;
- gboolean result;
- LlcpConfigData *data;
-
- NFC_INFO(">>> REQUEST from [%s]", g_dbus_method_invocation_get_sender(invocation));
-
- /* check privilege and update client context */
- ret = net_nfc_server_gdbus_check_privilege(invocation, smack_privilege,
- "nfc-manager::p2p", "w");
- if (false == ret)
- {
- NFC_ERR("permission denied, and finished request");
-
- return FALSE;
- }
-
- data = g_try_new0(LlcpConfigData, 1);
- if (NULL == data)
- {
- g_dbus_method_invocation_return_dbus_error(invocation,
- "org.tizen.NetNfcService.AllocationError",
- "Can not allocate memory");
-
- return FALSE;
- }
-
- data->llcp = g_object_ref(llcp);
- data->invocation = g_object_ref(invocation);
-
- g_variant_get(arg_config, "(qqyy)", &data->miu, &data->wks, &data->lto, &data->option);
-
- result = net_nfc_server_controller_async_queue_push(
- llcp_handle_config_thread_func, data);
-
- if (FALSE == result)
- {
- g_dbus_method_invocation_return_dbus_error(invocation,
- "org.tizen.NetNfcService.Llcp.ThreadError",
- "can not push to controller thread");
-
- g_object_unref(data->invocation);
- g_object_unref(data->llcp);
-
- g_free(data);
- }
-
- return result;
-}
-
static gboolean llcp_handle_listen(NetNfcGDbusLlcp *llcp,
GDBusMethodInvocation *invocation,
guint32 arg_handle,
llcp_skeleton = net_nfc_gdbus_llcp_skeleton_new();
- g_signal_connect(llcp_skeleton, "handle-config",
- G_CALLBACK(llcp_handle_config), NULL);
-
g_signal_connect(llcp_skeleton, "handle-listen",
G_CALLBACK(llcp_handle_listen), NULL);
}
}
-net_nfc_error_e net_nfc_server_llcp_set_config(
- net_nfc_llcp_config_info_s *config)
-{
- net_nfc_error_e result;
-
- if (NULL == config)
- {
- net_nfc_controller_llcp_config(&llcp_config, &result);
- return result;
- }
-
- net_nfc_controller_llcp_config(config, &result);
- memcpy(&llcp_config, config, sizeof(llcp_config));
-
- return result;
-}
-
guint16 net_nfc_server_llcp_get_miu(void)
{
return llcp_config.miu;
/* server side */
void net_nfc_server_llcp_deactivated(gpointer user_data);
-net_nfc_error_e net_nfc_server_llcp_set_config(
- net_nfc_llcp_config_info_s *config);
-
guint16 net_nfc_server_llcp_get_miu(void);
guint16 net_nfc_server_llcp_get_wks(void);
"Felica Request System Code"
},
- {
- "llcp",
- "SetDefaultConfig",
- net_nfc_test_llcp_default_config,
- net_nfc_test_llcp_default_config_sync,
- "Set the Default Config Options"
- },
-
- {
- "llcp",
- "SetCustomConfig",
- net_nfc_test_llcp_custom_config,
- net_nfc_test_llcp_custom_config_sync,
- "Set the Customised Config Options"
- },
-
{
"llcp",
"GetConfigWKS",
/*********************************** Function Calls *************************************/
-void net_nfc_test_llcp_default_config(gpointer data, gpointer user_data)
-{
- net_nfc_error_e result;
-
- result = net_nfc_client_llcp_create_config_default(&llcp_config_default);
-
- if(result != NET_NFC_OK)
- {
- g_print(" llcp create default config failed: %d\n", result);
- run_next_callback(user_data);
- return;
-
- }
- result = net_nfc_client_llcp_config(llcp_config_default,
- llcp_default_config_cb,
- user_data);
-
-}
-
-void net_nfc_test_llcp_default_config_sync(gpointer data, gpointer user_data)
-{
- net_nfc_error_e result;
-
- result = net_nfc_client_llcp_create_config_default(&llcp_config_default_sync);
-
- if(result != NET_NFC_OK)
- {
- g_print(" llcp create default config failed: %d\n", result);
- run_next_callback(user_data);
- return;
- }
-
- result = net_nfc_client_llcp_config_sync(llcp_config_default_sync);
- if(result == NET_NFC_OK)
- {
- g_print(" llcp create default config (sync) success: %d\n", result);
- }
-}
-
-
-void net_nfc_test_llcp_custom_config(gpointer data, gpointer user_data)
-{
- net_nfc_error_e result;
-
- result = net_nfc_client_llcp_create_config(&llcp_config,128, 1, 10, 0);
-
- if(result != NET_NFC_OK)
- {
- g_print(" llcp create custom config failed: %d\n", result);
- run_next_callback(user_data);
- return;
- }
- result = net_nfc_client_llcp_config(llcp_config, llcp_custom_config_cb, user_data);
-}
-
-
-
-void net_nfc_test_llcp_custom_config_sync(gpointer data, gpointer user_data)
-{
-
- net_nfc_error_e result;
-
- result = net_nfc_client_llcp_create_config(&llcp_config_sync,128, 1, 10, 0);
-
- if(result != NET_NFC_OK)
- {
- g_print(" net_nfc_test_llcp_custom_config_sync failed: %d\n", result);
- run_next_callback(user_data);
- return;
- }
- result = net_nfc_client_llcp_config_sync(llcp_config_sync);
-
- if(result == NET_NFC_OK)
- {
- g_print(" net_nfc_test_llcp_custom_config_sync (sync) success: %d\n", result);
- }
-
-}
void net_nfc_test_llcp_get_local_config(gpointer data, gpointer user_data)
{
#include <glib.h>
-void net_nfc_test_llcp_default_config(gpointer data, gpointer user_data);
-void net_nfc_test_llcp_default_config_sync(gpointer data, gpointer user_data);
void net_nfc_test_llcp_get_local_config(gpointer data, gpointer user_data);
void net_nfc_test_llcp_custom_config(gpointer data, gpointer user_data);
void net_nfc_test_llcp_custom_config_sync(gpointer data, gpointer user_data);
void net_nfc_test_llcp_disconnect_server(gpointer func_data, gpointer user_data);
void net_nfc_test_llcp_disconnect_sync(gpointer func_data, gpointer user_data);
-#endif //__NET_NFC_TEST_LLCP_H__
\ No newline at end of file
+#endif //__NET_NFC_TEST_LLCP_H__