g_assert(func_data != NULL);
- if (func_data != NULL) {
- net_nfc_client_manager_set_active_completed callback =
- (net_nfc_client_manager_set_active_completed)func_data->callback;
+ net_nfc_client_manager_set_active_completed callback =
+ (net_nfc_client_manager_set_active_completed)func_data->callback;
- callback(func_data->result, func_data->user_data);
- }
+ callback(func_data->result, func_data->user_data);
g_free(func_data);
}
func_data->result = result;
+ net_nfc_client_get_nfc_state(&is_activated);
if (is_activated == false)
{
message, user_param);
}
- g_object_unref(parameter);
+ g_variant_unref(parameter);
}
}
GPOINTER_TO_UINT(callback),
GPOINTER_TO_UINT(user_data));
- g_object_ref(parameter);
-
if (net_nfc_gdbus_snep_call_server_start_sync(snep_proxy,
GPOINTER_TO_UINT(target),
sap,
DEBUG_ERR_MSG("snep server(sync call) failed: %s",
error->message);
g_error_free(error);
- g_object_unref(parameter);
+ g_variant_unref(parameter);
result = NET_NFC_UNKNOWN_ERROR;
}
GPOINTER_TO_UINT(callback),
GPOINTER_TO_UINT(user_data));
- g_object_ref(parameter);
-
if (net_nfc_gdbus_snep_call_client_start_sync(snep_proxy,
GPOINTER_TO_UINT(target),
sap,
DEBUG_ERR_MSG("snep client(sync call) failed: %s",
error->message);
g_error_free(error);
- g_object_unref(parameter);
+ g_variant_unref(parameter);
result = NET_NFC_UNKNOWN_ERROR;
}
GPOINTER_TO_UINT(user_data),
GPOINTER_TO_UINT(target));
- g_object_ref(parameter);
-
ndef_msg = snep_message_to_variant(msg);
net_nfc_gdbus_snep_call_client_request(snep_proxy,
simple_data->user_data);
}
- g_free(simple_data);
+ /* 'simple_data' will be freed in socket error callback */
}
static void llcp_simple_connect_cb(net_nfc_llcp_socket_t socket,
simple_data->user_data);
}
- g_free(simple_data);
+ /* 'simple_data' will be freed in socket error callback */
}
static void llcp_simple_server_error_cb(net_nfc_llcp_socket_t socket,
static net_nfc_error_e manager_active(void)
{
net_nfc_error_e result;
+ int ret;
+ int se_type;
if (net_nfc_controller_is_ready(&result) == false)
{
return result;
}
- result = net_nfc_server_se_change_se(SECURE_ELEMENT_TYPE_UICC);
+ /* keep_SE_select_value */
+ ret = vconf_get_int(VCONFKEY_NFC_SE_TYPE, &se_type);
+ if (ret == 0)
+ {
+ DEBUG_SERVER_MSG("manager_active se_type [%d]",se_type);
+ result = net_nfc_server_se_change_se(se_type);
+ }
/* register default snep server */
net_nfc_server_snep_default_server_register();
/* unregister all services */
net_nfc_server_llcp_unregister_all();
- result = net_nfc_server_se_change_se(SECURE_ELEMENT_TYPE_INVALID);
+ /* keep_SE_select_value do not need to update vconf and gdbus_se_setting */
+// result = net_nfc_server_se_change_se(SECURE_ELEMENT_TYPE_INVALID);
+
+ {
+ net_nfc_error_e result_ese, result_uicc;
+
+ /*turn off ESE*/
+ net_nfc_controller_set_secure_element_mode(
+ SECURE_ELEMENT_TYPE_ESE,
+ SECURE_ELEMENT_OFF_MODE,
+ &result_ese);
+
+ /*turn off UICC*/
+ net_nfc_controller_set_secure_element_mode(
+ SECURE_ELEMENT_TYPE_UICC,
+ SECURE_ELEMENT_OFF_MODE,
+ &result_uicc);
+
+ }
if (net_nfc_controller_configure_discovery(
NET_NFC_DISCOVERY_MODE_STOP,
if (gdbus_se_setting.busy == true)
{
net_nfc_error_e result = NET_NFC_OK;
+ int ret;
+ int se_type;
DEBUG_SERVER_MSG("TAPI_SIM_STATUS_SIM_INIT_COMPLETED");
gdbus_se_setting.busy = false;
- net_nfc_controller_set_secure_element_mode(
- SECURE_ELEMENT_TYPE_UICC,
- SECURE_ELEMENT_VIRTUAL_MODE, &result);
- if (result == NET_NFC_OK) {
- DEBUG_SERVER_MSG(
- "changed to SECURE_ELEMENT_TYPE_UICC");
- net_nfc_server_se_set_se_type(
- SECURE_ELEMENT_TYPE_UICC);
- net_nfc_server_se_set_se_mode(
- SECURE_ELEMENT_VIRTUAL_MODE);
- if (vconf_set_int(VCONFKEY_NFC_SE_TYPE,
- VCONFKEY_NFC_SE_TYPE_UICC) != 0) {
- DEBUG_ERR_MSG("vconf_set_int failed");
+ /* keep_SE_select_value */
+ ret = vconf_get_int(VCONFKEY_NFC_SE_TYPE, &se_type);
+ if (ret == 0)
+ {
+ if (se_type == SECURE_ELEMENT_TYPE_UICC)
+ {
+ net_nfc_controller_set_secure_element_mode(
+ SECURE_ELEMENT_TYPE_UICC,
+ SECURE_ELEMENT_VIRTUAL_MODE, &result);
+ if (result == NET_NFC_OK) {
+ DEBUG_SERVER_MSG(
+ "changed to SECURE_ELEMENT_TYPE_UICC");
+ net_nfc_server_se_set_se_type(
+ SECURE_ELEMENT_TYPE_UICC);
+ net_nfc_server_se_set_se_mode(
+ SECURE_ELEMENT_VIRTUAL_MODE);
+ } else {
+ DEBUG_ERR_MSG(
+ "SECURE_ELEMENT_TYPE_UICC, SECURE_ELEMENT_VIRTUAL_MODE failed [%d]",
+ result);
+ }
+
+
}
- } else {
- DEBUG_ERR_MSG(
- "SECURE_ELEMENT_TYPE_UICC, SECURE_ELEMENT_VIRTUAL_MODE failed [%d]",
- result);
}
}
break;
[Unit]
Description=NFC manager
-After=tizen-boot.target telephony.service
+After=system-server.service
+Requires=system-server.service
[Service]
Type=simple
-ExecStart=/usr/bin/nfc-manager-daemon --dbus
+ExecStart=/usr/bin/nfc-manager-daemon --daemon
KillSignal=SIGKILL
[Install]
%post -n nfc-client-lib
/sbin/ldconfig
vconftool set -t bool db/nfc/feature 0 -u 5000 -f
-vconftool set -t int db/nfc/se_type 0 -u 5000 -f
vconftool set -t bool db/nfc/predefined_item_state 0 -u 5000 -f
vconftool set -t string db/nfc/predefined_item "None" -u 5000 -f
vconftool set -t bool db/nfc/enable 0 -u 5000 -f
+vconftool set -t int db/nfc/se_type 0 -u 5000 -f
%postun
/sbin/ldconfig