Fixed signal filter of service 40/117740/2 accepted/tizen/common/20170309.175133 accepted/tizen/ivi/20170308.121238 accepted/tizen/mobile/20170308.121203 accepted/tizen/tv/20170308.121222 accepted/tizen/wearable/20170308.121231 submit/tizen/20170308.045955
authortaesub kim <taesub.kim@samsung.com>
Tue, 7 Mar 2017 08:39:20 +0000 (17:39 +0900)
committertaesub kim <taesub.kim@samsung.com>
Tue, 7 Mar 2017 08:44:48 +0000 (17:44 +0900)
Change-Id: I375332e2d07548cf81ebb7662b7dc5fb89898bd8
Signed-off-by: Taesub Kim <taesub.kim@samsung.com>
include/network_signal.h
src/network_signal.c

index ad362197f14a52806dcd04f65c6cecbc96ef7624..e23e901bdd5399d18b93be11feafa35c932d660a 100755 (executable)
@@ -21,6 +21,9 @@
 extern "C" {
 #endif
 
+#define CONNMAN_WIFI_SERVICE_PROFILE_PREFIX \
+                               CONNMAN_PATH "/service/wifi_"
+
 int _net_deregister_signal(void);
 int _net_register_signal(void);
 int _net_init_service_state_table(void);
index 1399da21274e1130a91de0fe50a661b32bf370d9..c98df330acfe7e1a4989c8945c3f45184c953125 100755 (executable)
@@ -432,6 +432,7 @@ static int __net_handle_service_state_changed(const gchar *sig_path,
 
        old_state = service_state_table;
        new_state = string2state(state);
+       WIFI_LOG(WIFI_INFO, "old state [%d], new state [%d]", old_state, new_state);
 
        if (old_state == new_state)
                return Error;
@@ -709,14 +710,18 @@ static void __net_connman_service_signal_filter(GDBusConnection *conn,
        if (g_strcmp0(sig, SIGNAL_PROPERTY_CHANGED) == 0) {
                g_variant_get(param, "(sv)", &key, &var);
 
-               if (g_strcmp0(key, "State") == 0) {
-                       g_variant_get(var, "s", &value);
+               if (g_str_has_prefix(path,
+                               CONNMAN_WIFI_SERVICE_PROFILE_PREFIX) == TRUE) {
 
-                       __net_handle_service_state_changed(path, key, value);
-               } else if (g_strcmp0(key, "Error") == 0) {
-                       g_variant_get(var, "s", &value);
+                       if (g_strcmp0(key, "State") == 0) {
+                               g_variant_get(var, "s", &value);
 
-                       __net_handle_service_set_error(key, value);
+                               __net_handle_service_state_changed(path, key, value);
+                       } else if (g_strcmp0(key, "Error") == 0) {
+                               g_variant_get(var, "s", &value);
+
+                               __net_handle_service_set_error(key, value);
+                       }
                }
 
                g_free((gchar *)value);