Sync with latest tizen branch 72/288072/1 accepted/tizen_7.0_unified tizen_7.0 accepted/tizen/7.0/unified/20230213.171724
authorJihoon Jung <jh8801.jung@samsung.com>
Fri, 10 Feb 2023 06:21:14 +0000 (15:21 +0900)
committerJihoon Jung <jh8801.jung@samsung.com>
Fri, 10 Feb 2023 06:23:40 +0000 (15:23 +0900)
Change-Id: I0a2996e752bf5df199028ea23c620fb49433d546
Signed-off-by: Jihoon Jung <jh8801.jung@samsung.com>
src/commonlib/net_nfc.xml
src/manager/net_nfc_server_common.c [changed mode: 0755->0644]
src/manager/net_nfc_server_llcp.c [changed mode: 0755->0644]
src/manager/net_nfc_server_manager.c
src/manager/net_nfc_server_route_table.c
src/manager/net_nfc_server_test.c

index 2ffc09eebad5f6072c4460e7fb90db434c18978b..a17423bc3dfd891d0213625391b121ba21c4e90f 100644 (file)
   </interface>
 
   <interface name="org.tizen.NetNfcService.Test">
+    <!--
+      TestModeOn
+    -->
+    <method name="TestModeOn">
+      <arg type="i" name="result" direction="out" />
+    </method>
+
+    <!--
+      TestOff
+    -->
+    <method name="TestModeOff">
+      <arg type="i" name="result" direction="out" />
+    </method>
+
     <!--
       SimTest
     -->
old mode 100755 (executable)
new mode 100644 (file)
index 1d7cb02..be1ab3e
@@ -313,7 +313,7 @@ static void controller_hce_apdu_cb(void *info, void *user_context)
 
 static void controller_init_thread_func(gpointer user_data)
 {
-       net_nfc_error_e result;
+       net_nfc_error_e result = NET_NFC_OK;
 
        net_nfc_controller_is_ready(&result);
 
@@ -703,7 +703,7 @@ guint32 net_nfc_server_get_state(void)
 
 bool net_nfc_server_controller_init_sync(void)
 {
-       net_nfc_error_e result;
+       net_nfc_error_e result = NET_NFC_OK;
 
        if (net_nfc_controller_init(&result) == false) {
                DEBUG_ERR_MSG("net_nfc_controller_init failed, [%d]", result);  //LCOV_EXCL_LINE
old mode 100755 (executable)
new mode 100644 (file)
index 6d47840..f9e642c
@@ -787,7 +787,7 @@ static void llcp_handle_receive_from_thread_func(gpointer user_data)
 static void llcp_handle_close_thread_func(gpointer user_data)
 {
        LlcpCloseData *data = (LlcpCloseData *) user_data;
-       net_nfc_error_e result;
+       net_nfc_error_e result = NET_NFC_OK;
 
        g_assert(data != NULL);
        g_assert(data->llcp != NULL);
@@ -1645,7 +1645,7 @@ void net_nfc_server_llcp_deinit(void)
 
 net_nfc_error_e net_nfc_server_llcp_set_config(net_nfc_llcp_config_info_s * config)
 {
-       net_nfc_error_e result;
+       net_nfc_error_e result = NET_NFC_OK;
 
        if (config == NULL) {
                net_nfc_controller_llcp_config(&llcp_config, &result);
index 8f40bf6393dad49d2246919aaeb18d2d9468722d..ba9e9845801e87e0e6c419124387c2264d7c625b 100644 (file)
@@ -226,7 +226,7 @@ static gboolean manager_handle_set_active(NetNfcGDbusManager * manager, GDBusMet
 
        if (data->is_active == true) {
 /* LCOV_EXCL_START */
-               net_nfc_error_e check_result;
+               net_nfc_error_e check_result = NET_NFC_OK;
                INFO_MSG("Daemon alive, But check the nfc device state.");
 
                net_nfc_controller_is_ready(&check_result);
@@ -289,7 +289,7 @@ static gboolean manager_handle_get_server_state(NetNfcGDbusManager * manager, GD
 static void manager_handle_configure_discovery_thread_func(gpointer user_data)
 {
        ManagerConfigureDiscoveryData *data = (ManagerConfigureDiscoveryData *)user_data;
-       net_nfc_error_e result;
+       net_nfc_error_e result = NET_NFC_OK;
 
        g_assert(data != NULL);
        g_assert(data->manager != NULL);
@@ -450,7 +450,7 @@ void net_nfc_server_manager_deinit(void)
 void net_nfc_server_manager_set_active(gboolean is_active)
 {
        ManagerActivationData *data;
-       net_nfc_error_e result;
+       net_nfc_error_e result = NET_NFC_OK;
 
        if (manager_skeleton == NULL) {
                DEBUG_ERR_MSG("net_nfc_server_manager is not initialized");     // LCOV_EXCL_LINE
index 2e7cafb20ddfc55bd3877269494cadbc6b2ebd43..318019656a7ba654cd66ec2c82e061f4bf2eb1e0 100644 (file)
@@ -788,7 +788,7 @@ net_nfc_error_e net_nfc_server_route_table_add_handler(const char *id, const cha
 
 static net_nfc_error_e __do_routing_aid(aid_info_t * info, bool commit)
 {
-       net_nfc_error_e result;
+       net_nfc_error_e result = NET_NFC_OK;
 
        if (info->is_routed == false) {
                data_s temp = { 0, };
@@ -830,7 +830,7 @@ static net_nfc_error_e __do_routing_aid(aid_info_t * info, bool commit)
 
 static net_nfc_error_e __do_unrouting_aid(aid_info_t * info, bool commit)
 {
-       net_nfc_error_e result;
+       net_nfc_error_e result = NET_NFC_OK;
 
        if (info->is_routed == true) {
                data_s temp = { 0, };
index bcb81a3e02c6336329b8ba5146ce4ba66e472e53..a85411bfcf8398edca3480809492fa1b624129c8 100644 (file)
@@ -60,6 +60,10 @@ struct _TestSetListenTechData {
        guint32 mode;
 };
 
+static void test_handle_test_mode_on_thread_func(gpointer user_data);
+
+static void test_handle_test_mode_off_thread_func(gpointer user_data);
+
 static void test_handle_sim_test_thread_func(gpointer user_data);
 
 static void test_handle_prbs_test_thread_func(gpointer user_data);
@@ -68,6 +72,10 @@ static void test_handle_get_firmware_version_thread_func(gpointer user_data);
 
 static void test_handle_set_ee_data_thread_func(gpointer user_data);
 
+static gboolean test_handle_test_mode_on(NetNfcGDbusTest * test, GDBusMethodInvocation * invocation, GVariant * smack_privilege, gpointer user_data);
+
+static gboolean test_handle_test_mode_off(NetNfcGDbusTest * test, GDBusMethodInvocation * invocation, GVariant * smack_privilege, gpointer user_data);
+
 static gboolean test_handle_sim_test(NetNfcGDbusTest * test, GDBusMethodInvocation * invocation, GVariant * smack_privilege, gpointer user_data);
 
 static gboolean test_handle_prbs_test(NetNfcGDbusTest * test, GDBusMethodInvocation * invocation, guint32 arg_tech, guint32 arg_rate, GVariant * smack_privilege, gpointer user_data);
@@ -79,6 +87,44 @@ static gboolean test_handle_set_ee_data(NetNfcGDbusTest * test, GDBusMethodInvoc
 static NetNfcGDbusTest *test_skeleton = NULL;
 
 /* LCOV_EXCL_START */
+static void test_handle_test_mode_on_thread_func(gpointer user_data)
+{
+       TestData *data = (TestData *) user_data;
+       net_nfc_error_e result = NET_NFC_OK;
+
+       g_assert(data != NULL);
+       g_assert(data->test != NULL);
+       g_assert(data->invocation != NULL);
+
+       net_nfc_controller_test_mode_on(&result);
+
+       net_nfc_gdbus_test_complete_test_mode_on(data->test, data->invocation, (gint) result);
+
+       g_object_unref(data->invocation);
+       g_object_unref(data->test);
+
+       g_free(data);
+}
+
+static void test_handle_test_mode_off_thread_func(gpointer user_data)
+{
+       TestData *data = (TestData *) user_data;
+       net_nfc_error_e result = NET_NFC_OK;
+
+       g_assert(data != NULL);
+       g_assert(data->test != NULL);
+       g_assert(data->invocation != NULL);
+
+       net_nfc_controller_test_mode_off(&result);
+
+       net_nfc_gdbus_test_complete_test_mode_off(data->test, data->invocation, (gint) result);
+
+       g_object_unref(data->invocation);
+       g_object_unref(data->test);
+
+       g_free(data);
+}
+
 static void test_handle_sim_test_thread_func(gpointer user_data)
 {
        TestData *data = (TestData *) user_data;
@@ -191,6 +237,108 @@ static void test_handle_ese_test_thread_func(gpointer user_data)
        g_free(data);
 }
 
+static gboolean test_handle_test_mode_on(NetNfcGDbusTest * test, GDBusMethodInvocation * invocation, GVariant * smack_privilege, gpointer user_data)
+{
+    TestData *data = NULL;
+    gint result;
+
+    INFO_MSG(">>> REQUEST from [%s]", g_dbus_method_invocation_get_sender(invocation));
+
+    /* check privilege and update client context */
+    if (net_nfc_server_gdbus_check_privilege(invocation, NET_NFC_PRIVILEGE_NFC) == false) {
+        DEBUG_ERR_MSG("permission denied, and finished request");
+        result = NET_NFC_PERMISSION_DENIED;
+
+        goto ERROR;
+    }
+
+    DEBUG_SERVER_MSG("test_mode_on");
+
+    data = g_try_new0(TestData, 1);
+    if (data == NULL) {
+        DEBUG_ERR_MSG("Memory allocation failed");
+        result = NET_NFC_ALLOC_FAIL;
+
+        goto ERROR;
+    }
+
+    data->test = g_object_ref(test);
+    data->invocation = g_object_ref(invocation);
+
+    if (net_nfc_server_controller_async_queue_push(test_handle_test_mode_on_thread_func, data) == FALSE) {
+        /* return error if queue was blocked */
+        DEBUG_SERVER_MSG("controller is processing important message..");
+        result = NET_NFC_BUSY;
+
+        goto ERROR;
+    }
+
+    return TRUE;
+
+ ERROR:
+    if (data != NULL) {
+        g_object_unref(data->invocation);
+        g_object_unref(data->test);
+
+        g_free(data);
+    }
+
+    net_nfc_gdbus_test_complete_test_mode_on(test, invocation, result);
+
+    return TRUE;
+}
+
+static gboolean test_handle_test_mode_off(NetNfcGDbusTest * test, GDBusMethodInvocation * invocation, GVariant * smack_privilege, gpointer user_data)
+{
+    TestData *data = NULL;
+    gint result;
+
+    INFO_MSG(">>> REQUEST from [%s]", g_dbus_method_invocation_get_sender(invocation));
+
+    /* check privilege and update client context */
+    if (net_nfc_server_gdbus_check_privilege(invocation, NET_NFC_PRIVILEGE_NFC) == false) {
+        DEBUG_ERR_MSG("permission denied, and finished request");
+        result = NET_NFC_PERMISSION_DENIED;
+
+        goto ERROR;
+    }
+
+    DEBUG_SERVER_MSG("test_mode_off");
+
+    data = g_try_new0(TestData, 1);
+    if (data == NULL) {
+        DEBUG_ERR_MSG("Memory allocation failed");
+        result = NET_NFC_ALLOC_FAIL;
+
+        goto ERROR;
+    }
+
+    data->test = g_object_ref(test);
+    data->invocation = g_object_ref(invocation);
+
+    if (net_nfc_server_controller_async_queue_push(test_handle_test_mode_off_thread_func, data) == FALSE) {
+        /* return error if queue was blocked */
+        DEBUG_SERVER_MSG("controller is processing important message..");
+        result = NET_NFC_BUSY;
+
+        goto ERROR;
+    }
+
+    return TRUE;
+
+ ERROR:
+    if (data != NULL) {
+        g_object_unref(data->invocation);
+        g_object_unref(data->test);
+
+        g_free(data);
+    }
+
+    net_nfc_gdbus_test_complete_test_mode_off(test, invocation, result);
+
+    return TRUE;
+}
+
 static gboolean test_handle_sim_test(NetNfcGDbusTest * test, GDBusMethodInvocation * invocation, GVariant * smack_privilege, gpointer user_data)
 {
        TestData *data = NULL;
@@ -600,6 +748,10 @@ gboolean net_nfc_server_test_init(GDBusConnection * connection)
 
        test_skeleton = net_nfc_gdbus_test_skeleton_new();
 
+       g_signal_connect(test_skeleton, "handle-test-mode-on", G_CALLBACK(test_handle_test_mode_on), NULL);
+
+       g_signal_connect(test_skeleton, "handle-test-mode-off", G_CALLBACK(test_handle_test_mode_off), NULL);
+
        g_signal_connect(test_skeleton, "handle-sim-test", G_CALLBACK(test_handle_sim_test), NULL);
 
        g_signal_connect(test_skeleton, "handle-prbs-test", G_CALLBACK(test_handle_prbs_test), NULL);