Replace ScanStarted with ScanChanged signal. 70/124770/1 accepted/tizen/unified/20170417.082444 submit/tizen/20170414.032608
authorNiraj Kumar Goit <niraj.g@samsung.com>
Wed, 12 Apr 2017 09:58:00 +0000 (15:28 +0530)
committerNiraj Kumar Goit <niraj.g@samsung.com>
Wed, 12 Apr 2017 09:58:00 +0000 (15:28 +0530)
Change-Id: Ia620c346b1b530c8bec3af9c4e7f34c6b4dc5a37
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
include/network_interface.h
include/network_internal.h
include/wifi_internal.h
src/network_signal.c
src/wifi_internal.c
src/wifi_manager.c
test/wifi_manager_test.c

index 2e5bf22ff67f5c0aa4381351287b01ddbf57075b..4155ab07b777d8b247c47adb99aa77a248b50970 100755 (executable)
@@ -54,7 +54,7 @@ typedef enum {
        NET_EVENT_NET_STATE_IND,
        NET_EVENT_WIFI_SCAN_RSP,
        NET_EVENT_WIFI_SCAN_IND,
-       NET_EVENT_WIFI_SCAN_STARTED,
+       NET_EVENT_WIFI_SCAN_CHANGED,
        NET_EVENT_WIFI_MAC_ID_IND, /** This is deprecated Event and maintained only for compatibility */
        NET_EVENT_WIFI_POWER_RSP,
        NET_EVENT_WIFI_POWER_IND,
index d17c5fda762bffa6e8966ce506852af315c8778f..e179242fe471b4e72da65eef0d34f50f66af68b6 100755 (executable)
@@ -85,7 +85,7 @@ extern "C" {
 #define SIGNAL_TECHNOLOGY_REMOVED              "TechnologyRemoved"
 #define SIGNAL_SERVICES_CHANGED                        "ServicesChanged"
 #define SIGNAL_SCAN_DONE                               "ScanDone"
-#define SIGNAL_SCAN_STARTED                            "ScanStarted"
+#define SIGNAL_SCAN_CHANGED                            "ScanChanged"
 
 #define CONNMAN_WIFI_TECHNOLOGY_PREFIX CONNMAN_PATH "/technology/wifi"
 
index 0870c8711495831c0e06c661c3efe7d256cf076e..199ae2111b0ac41447c8fcfcb75740415ee576c6 100755 (executable)
@@ -88,7 +88,7 @@ typedef enum {
        WIFI_DEVICE_STATE_CB,
        WIFI_BG_SCAN_CB,
        WIFI_SCAN_REQUEST_CB,
-       WIFI_SCAN_STARTED_CB,
+       WIFI_SCAN_CHANGED_CB,
        WIFI_SPECIFIC_SCAN_CB,
        WIFI_MANAGER_CONNECTION_STATE_CB,
        WIFI_ACTIVATED_CB,
@@ -141,8 +141,8 @@ typedef struct {
        void *bg_scan_user_data;
        wifi_manager_scan_finished_cb scan_request_cb;
        void *scan_request_user_data;
-       wifi_manager_scan_state_changed_cb scan_started_cb;
-       void *scan_started_user_data;
+       wifi_manager_scan_state_changed_cb scan_changed_cb;
+       void *scan_changed_user_data;
        wifi_manager_scan_finished_cb specific_scan_cb;
        void *specific_scan_user_data;
        wifi_manager_connection_state_changed_cb connection_state_cb;
index 324ea8cf3d9ba81e815c48c235a048bf56b01ff6..f028da7199e3ff9efce4a05d9825bba99c99d14c 100755 (executable)
@@ -616,17 +616,37 @@ static int __net_handle_service_set_error(const char *key, const char *error)
        return NET_ERR_NONE;
 }
 
-static int __net_handle_scan_started(GVariant *param)
+static int __net_handle_scan_changed(GVariant *param)
 {
+       __NETWORK_FUNC_ENTER__;
+
+       const char *key = NULL;
+       gboolean value = false;
+       GVariant *var;
        net_event_info_s event_data = { 0, };
 
-       event_data.Event = NET_EVENT_WIFI_SCAN_STARTED;
+       g_variant_get(param, "(sv)", &key, &var);
+
+       if (g_strcmp0(key, "scan_started") == 0)
+               value = true;
+       else if (g_strcmp0(key, "scan_done") == 0)
+               value = false;
+
+       WIFI_LOG(WIFI_INFO, "Key:[%s] value:[%d]", key, value);
+
+       event_data.Event = NET_EVENT_WIFI_SCAN_CHANGED;
        event_data.Error = NET_ERR_NONE;
-       event_data.Datalength = 0;
-       event_data.Data = NULL;
+       event_data.Datalength = sizeof(gboolean);
+       event_data.Data = &value;
 
        _net_client_callback(&event_data);
 
+       g_free((gchar *)key);
+       if (NULL != var)
+               g_variant_unref(var);
+
+       WIFI_LOG(WIFI_INFO, "Exit Function");
+       __NETWORK_FUNC_EXIT__;
        return NET_ERR_NONE;
 }
 
@@ -869,8 +889,8 @@ static void __net_connman_manager_signal_filter(GDBusConnection *conn,
                const gchar *name, const gchar *path, const gchar *interface,
                const gchar *sig, GVariant *param, gpointer user_data)
 {
-       if (g_strcmp0(sig, SIGNAL_SCAN_STARTED) == 0)
-               __net_handle_scan_started(param);
+       if (g_strcmp0(sig, SIGNAL_SCAN_CHANGED) == 0)
+               __net_handle_scan_changed(param);
        else if (g_strcmp0(sig, SIGNAL_SCAN_DONE) == 0)
                __net_handle_scan_done(param);
 }
@@ -1111,7 +1131,7 @@ int _net_register_signal(void)
                        connection,
                        CONNMAN_SERVICE,
                        CONNMAN_MANAGER_INTERFACE,
-                       "ScanStarted",
+                       SIGNAL_SCAN_CHANGED,
                        CONNMAN_MANAGER_PATH,
                        NULL,
                        G_DBUS_SIGNAL_FLAGS_NONE,
index f77570f324307e411f33242f09f74ba8b77dface..24fada2f24120368f46767792665f8591037253b 100755 (executable)
@@ -574,28 +574,22 @@ static void __scan_cb(net_event_info_s *event_cb, bool is_requested)
        }
 }
 
-static void __scan_started_cb(net_event_info_s *event_cb)
+static void __scan_changed_cb(wifi_manager_scan_state_e scan_state)
 {
        GSList *list;
-       wifi_manager_scan_state_e scan_state;
 
        if (net_check_ref_count() != true) {
                WIFI_LOG(WIFI_ERROR, "Application is not registered"
                                "If multi-threaded, thread integrity be broken.");
                return;
        }
+       WIFI_LOG(WIFI_INFO, "scan state: [%d]\n", scan_state);
 
-       if (event_cb->Error != NET_ERR_NONE) {
-               WIFI_LOG(WIFI_ERROR, "Scan failed[%d]", event_cb->Error);
-               scan_state = WIFI_MANAGER_SCAN_STATE_NOT_SCANNING;
-       } else
-               scan_state = WIFI_MANAGER_SCAN_STATE_SCANNING;
-
-       if (_wifi_get_callback_count_from_handle_list(WIFI_SCAN_STARTED_CB)) {
+       if (_wifi_get_callback_count_from_handle_list(WIFI_SCAN_CHANGED_CB)) {
                for (list = wifi_manager_handle_list; list; list = list->next) {
                        wifi_manager_handle_s *local_handle = (wifi_manager_handle_s *)list->data;
-                       if (local_handle->scan_started_cb)
-                               local_handle->scan_started_cb(scan_state, local_handle->scan_started_user_data);
+                       if (local_handle->scan_changed_cb)
+                               local_handle->scan_changed_cb(scan_state, local_handle->scan_changed_user_data);
                }
        }
 }
@@ -841,9 +835,10 @@ static void _wifi_evt_cb(net_event_info_s *event_cb, void *user_data)
                WIFI_LOG(WIFI_INFO, "Got Wi-Fi specific scan IND\n");
                __specific_scan_cb(event_cb);
                break;
-       case NET_EVENT_WIFI_SCAN_STARTED:
-               WIFI_LOG(WIFI_INFO, "Got Wi-Fi scan started event\n");
-               __scan_started_cb(event_cb);
+       case NET_EVENT_WIFI_SCAN_CHANGED:
+               WIFI_LOG(WIFI_INFO, "Got Wi-Fi ScanChanged event\n");
+               wifi_manager_scan_state_e *scan_state = (wifi_manager_scan_state_e *)event_cb->Data;
+               __scan_changed_cb(*scan_state);
                break;
        case NET_EVENT_WIFI_POWER_RSP:
                is_requested = true;
@@ -926,8 +921,8 @@ int _wifi_get_callback_count_from_handle_list(wifi_manager_handle_cb_e e)
                        if (local_handle->bg_scan_cb)
                                ++count;
                        break;
-               case WIFI_SCAN_STARTED_CB:
-                       if (local_handle->scan_started_cb)
+               case WIFI_SCAN_CHANGED_CB:
+                       if (local_handle->scan_changed_cb)
                                ++count;
                        break;
                case WIFI_SCAN_REQUEST_CB:
index e70a18bd4532fc77b5ac4da216c578bbe8c8f605..e000ff2771238b67992bc943e660ed2f91fc348e 100755 (executable)
@@ -66,8 +66,8 @@ static int __wifi_set_scan_state_changed_cb(wifi_manager_h wifi,
 {
        wifi_manager_handle_s *local_handle = (wifi_manager_handle_s *)wifi;
 
-       local_handle->scan_started_cb = callback;
-       local_handle->scan_started_user_data = user_data;
+       local_handle->scan_changed_cb = callback;
+       local_handle->scan_changed_user_data = user_data;
 
        return WIFI_MANAGER_ERROR_NONE;
 }
index aa35e4f3c914d371d65e02705e11b6eb8db9bf40..4594df6d63f2bdf78910aea951cbf938b6b363eb 100755 (executable)
@@ -105,9 +105,9 @@ static void __test_device_state_callback(wifi_manager_device_state_e state, void
                printf(", state : Deactivated\n");
 }
 
-static void __test_scan_started_callback(wifi_manager_scan_state_e state, void* user_data)
+static void __test_scan_changed_callback(wifi_manager_scan_state_e state, void* user_data)
 {
-       printf("Scan Started, scan state : %d\n", state);
+       printf("Scan changed, scan state : %d\n", state);
 }
 
 static void __test_bg_scan_completed_callback(wifi_manager_error_e error_code, void* user_data)
@@ -1209,7 +1209,7 @@ int test_wifi_manager_init(void)
 
        if (rv == WIFI_MANAGER_ERROR_NONE) {
                wifi_manager_set_device_state_changed_cb(wifi, __test_device_state_callback, "1");
-               wifi_manager_set_scan_state_changed_cb(wifi, __test_scan_started_callback, "1");
+               wifi_manager_set_scan_state_changed_cb(wifi, __test_scan_changed_callback, "1");
                wifi_manager_set_background_scan_cb(wifi, __test_bg_scan_completed_callback, "1");
                wifi_manager_set_connection_state_changed_cb(wifi, __test_connection_state_callback, "1");
                wifi_manager_set_rssi_level_changed_cb(wifi, __test_rssi_level_callback, "1");