Use TIZEN_EXT_INS for INS related code
[platform/upstream/connman.git] / src / service.c
index 2b69a0b..8ffb254 100755 (executable)
@@ -75,6 +75,12 @@ struct saved_profiles {
        gchar *profile_name;
 };
 
+static unsigned char invalid_bssid[WIFI_BSSID_LEN_MAX] = {
+       0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+#endif
+
+#if defined TIZEN_EXT && defined TIZEN_EXT_INS
 enum connman_ins_preferred_freq {
        CONNMAN_INS_PREFERRED_FREQ_UNKNOWN,
        CONNMAN_INS_PREFERRED_FREQ_24GHZ,
@@ -100,11 +106,7 @@ struct connman_ins_settings {
 };
 
 static struct connman_ins_settings ins_settings;
-
-static unsigned char invalid_bssid[WIFI_BSSID_LEN_MAX] = {
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-#endif
+#endif /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
 
 struct connman_stats {
        bool valid;
@@ -813,7 +815,8 @@ static void count_assoc_reject(gpointer key, gpointer value, gpointer user_data)
        struct assoc_reject_data *assoc_data = value;
        int *assoc_reject_count = user_data;
 
-       *assoc_reject_count += g_slist_length(assoc_data->reject_time_list);
+       if (assoc_data)
+               *assoc_reject_count += g_slist_length(assoc_data->reject_time_list);
 }
 
 static bool update_assoc_reject(struct connman_service *service)
@@ -3080,7 +3083,7 @@ static void state_changed(struct connman_service *service)
 #endif
 }
 
-#if defined TIZEN_EXT
+#if defined TIZEN_EXT && defined TIZEN_EXT_INS
 static void connect_reason_changed(struct connman_service *service)
 {
        struct connman_device *device;
@@ -3114,7 +3117,9 @@ static void connect_reason_changed(struct connman_service *service)
                                            DBUS_TYPE_INT32,
                                            &service->connect_reason);
 }
+#endif /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
 
+#if defined TIZEN_EXT
 static void disconnection_requested_changed(struct connman_service *service)
 {
        dbus_bool_t disconnection_requested;
@@ -4561,7 +4566,7 @@ static void append_properties(DBusMessageIter *dict, dbus_bool_t limited,
                connman_network_append_acddbus(dict, service->network);
 }
 
-#if defined TIZEN_EXT_INS
+#if defined TIZEN_EXT && defined TIZEN_EXT_INS
 static void append_ins_bssid_info(DBusMessageIter *iter, void *user_data)
 {
        GSList *bssid_list = NULL;
@@ -4652,7 +4657,7 @@ static void append_ins_properties(DBusMessageIter *dict,
                                append_ins_bssid_info, service->network);
        }
 }
-#endif
+#endif /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
 
 static void append_struct_service(DBusMessageIter *iter,
                connman_dbus_append_cb_t function,
@@ -4691,12 +4696,7 @@ static void append_struct(gpointer value, gpointer user_data)
        append_struct_service(iter, append_dict_properties, service);
 }
 
-void __connman_service_list_struct(DBusMessageIter *iter)
-{
-       g_list_foreach(service_list, append_struct, iter);
-}
-
-#if defined TIZEN_EXT_INS
+#if defined TIZEN_EXT && defined TIZEN_EXT_INS
 static void append_dict_ins_properties(DBusMessageIter *dict, void *user_data)
 {
        struct connman_service *service = user_data;
@@ -4722,7 +4722,12 @@ void __connman_ins_list_struct(DBusMessageIter *iter)
 {
        g_list_foreach(service_list, append_ins_struct, iter);
 }
-#endif
+#endif /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
+
+void __connman_service_list_struct(DBusMessageIter *iter)
+{
+       g_list_foreach(service_list, append_struct, iter);
+}
 
 bool __connman_service_is_hidden(struct connman_service *service)
 {
@@ -7510,7 +7515,7 @@ static DBusMessage *is_eapol_enabled(DBusConnection *conn,
 }
 #endif /* defined TIZEN_EXT && defined TIZEN_EXT_EAP_ON_ETHERNET */
 
-#if defined TIZEN_MAINTAIN_ONLINE
+#if defined TIZEN_EXT
 static DBusMessage *downgrade_service(DBusConnection *conn,
                                        DBusMessage *msg, void *user_data)
 {
@@ -7518,6 +7523,7 @@ static DBusMessage *downgrade_service(DBusConnection *conn,
 
        downgrade_state(service);
        __connman_connection_update_gateway();
+       start_online_check(service, CONNMAN_IPCONFIG_TYPE_IPV4);
 
        return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
 }
@@ -7590,7 +7596,7 @@ static const GDBusMethodTable service_methods[] = {
 #if defined TIZEN_EXT && defined TIZEN_EXT_EAP_ON_ETHERNET
        { GDBUS_METHOD("IsEapolEnabled", NULL, GDBUS_ARGS({ "eapol", "b" }), is_eapol_enabled) },
 #endif
-#if defined TIZEN_MAINTAIN_ONLINE
+#if defined TIZEN_EXT
        { GDBUS_METHOD("Downgrade", NULL, NULL, downgrade_service) },
 #endif
        { },
@@ -7865,7 +7871,7 @@ void connman_service_unref_debug(struct connman_service *service,
        g_hash_table_remove(service_hash, service->identifier);
 }
 
-#if defined TIZEN_EXT
+#if defined TIZEN_EXT && defined TIZEN_EXT_INS
 static int calculate_score_last_user_selection(struct connman_service *service)
 {
        int score = 0;
@@ -8031,19 +8037,17 @@ static int calculate_score(struct connman_service *service)
                score_frequency + score_security_priority +
                score_internet_connection + score_strength;
 
-#if defined TIZEN_EXT_INS
        service->score_last_user_selection = score_last_user_selection;
        service->score_last_connected = score_last_connected;
        service->score_frequency = score_frequency;
        service->score_security_priority = score_security_priority;
        service->score_internet_connection = score_internet_connection;
        service->score_strength = score_strength;
-#endif
 
        service->ins_score = score;
        return score;
 }
-#endif
+#endif /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
 
 static gint service_compare(gconstpointer a, gconstpointer b)
 {
@@ -8051,12 +8055,12 @@ static gint service_compare(gconstpointer a, gconstpointer b)
        struct connman_service *service_b = (void *) b;
        enum connman_service_state state_a, state_b;
        bool a_connected, b_connected;
-#if defined TIZEN_EXT
+#if defined TIZEN_EXT && defined TIZEN_EXT_INS
        int score_a;
        int score_b;
-#else
+#else /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
        gint strength;
-#endif
+#endif /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
 
        state_a = service_a->state;
        state_b = service_b->state;
@@ -8164,21 +8168,21 @@ static gint service_compare(gconstpointer a, gconstpointer b)
                        return 1;
        }
 
-#if defined TIZEN_EXT
+#if defined TIZEN_EXT && defined TIZEN_EXT_INS
        score_a = calculate_score(service_a);
        score_b = calculate_score(service_b);
        if (score_b != score_a)
                return score_b - score_a;
-#else
+#else /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
        strength = (gint) service_b->strength - (gint) service_a->strength;
        if (strength)
                return strength;
-#endif
+#endif /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
 
        return g_strcmp0(service_a->name, service_b->name);
 }
 
-#if defined TIZEN_EXT_INS
+#if defined TIZEN_EXT && defined TIZEN_EXT_INS
 static void print_service_sort(gpointer data, gpointer user_data)
 {
        struct connman_service *service = data;
@@ -8193,15 +8197,15 @@ static void print_service_sort(gpointer data, gpointer user_data)
                service->score_security_priority, service->score_internet_connection,
                service->score_strength);
 }
-#endif
+#endif /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
 
 static void service_list_sort(void)
 {
        if (service_list && service_list->next) {
                service_list = g_list_sort(service_list, service_compare);
-#if defined TIZEN_EXT_INS
+#if defined TIZEN_EXT && defined TIZEN_EXT_INS
                g_list_foreach(service_list, print_service_sort, NULL);
-#endif
+#endif /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
                service_schedule_changed();
        }
 }
@@ -9413,7 +9417,13 @@ static gboolean redo_wispr_ipv4(gpointer user_data)
 {
        struct connman_service *service = user_data;
 
+#if defined TIZEN_MAINTAIN_ONLINE
+       DBG("");
+
+       __connman_wispr_start(service, CONNMAN_IPCONFIG_TYPE_IPV4);
+#else
        redo_wispr(service, CONNMAN_IPCONFIG_TYPE_IPV4);
+#endif
 
        return FALSE;
 }
@@ -9427,19 +9437,6 @@ static gboolean redo_wispr_ipv6(gpointer user_data)
        return FALSE;
 }
 
-#if defined TIZEN_MAINTAIN_ONLINE
-static gboolean redo_wispr_ipv4(gpointer user_data)
-{
-       struct connman_service *service = user_data;
-
-       DBG("");
-
-       __connman_wispr_start(service, CONNMAN_IPCONFIG_TYPE_IPV4);
-
-       return FALSE;
-}
-#endif
-
 int __connman_service_online_check_failed(struct connman_service *service,
                                        enum connman_ipconfig_type type)
 {
@@ -9984,9 +9981,9 @@ int __connman_service_connect(struct connman_service *service,
        DBG("service %p err %d", service, err);
 
        service->connect_reason = reason;
-#if defined TIZEN_EXT
+#if defined TIZEN_EXT && defined TIZEN_EXT_INS
        connect_reason_changed(service);
-#endif
+#endif /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
 
        if (err >= 0)
                return 0;
@@ -11131,7 +11128,7 @@ static struct connman_agent_driver agent_driver = {
        .context_unref  = agent_context_unref,
 };
 
-#if defined TIZEN_EXT
+#if defined TIZEN_EXT && defined TIZEN_EXT_INS
 static void ins_setting_init(void)
 {
        int i;
@@ -11217,7 +11214,7 @@ static void ins_setting_init(void)
        DBG("signal_level3_5ghz [%d]", ins_settings.signal_level3_5ghz);
        DBG("signal_level3_24ghz [%d]", ins_settings.signal_level3_24ghz);
 }
-#endif
+#endif /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
 
 int __connman_service_init(void)
 {
@@ -11246,9 +11243,9 @@ int __connman_service_init(void)
 
        remove_unprovisioned_services();
 
-#if defined TIZEN_EXT
+#if defined TIZEN_EXT && defined TIZEN_EXT_INS
        ins_setting_init();
-#endif
+#endif /* defined TIZEN_EXT && defined TIZEN_EXT_INS */
 
        return 0;
 }