static struct connman_service *current_default = NULL;
static bool services_dirty = false;
+#if defined TIZEN_EXT
+static bool auto_connect_mode = TRUE;
+#endif
+
struct connman_stats {
bool valid;
bool enabled;
*/
char *keymgmt_type;
int disconnect_reason;
+ int assoc_status_code;
#endif
#ifdef TIZEN_EXT
enum connman_dnsconfig_method dns_config_method_ipv4;
unsigned int keymgmt;
uint16_t frequency;
const char *enc_mode;
+ const char *str;
gboolean passpoint;
ssid = connman_network_get_blob(network, "WiFi.SSID", &ssid_len);
DBUS_TYPE_BOOLEAN, &passpoint);
connman_dbus_dict_append_basic(dict, "Keymgmt",
DBUS_TYPE_UINT32, &keymgmt);
+
+ str = connman_network_get_string(network, "WiFi.Security");
+ if (str != NULL && g_str_equal(str, "ieee8021x") == TRUE) {
+ str = connman_network_get_string(network, "WiFi.EAP");
+ if (str != NULL)
+ connman_dbus_dict_append_basic(dict, "EAP",
+ DBUS_TYPE_STRING, &str);
+
+ str = connman_network_get_string(network, "WiFi.Phase2");
+ if (str != NULL)
+ connman_dbus_dict_append_basic(dict, "Phase2",
+ DBUS_TYPE_STRING, &str);
+
+ str = connman_network_get_string(network, "WiFi.Identity");
+ if (str != NULL)
+ connman_dbus_dict_append_basic(dict, "Identity",
+ DBUS_TYPE_STRING, &str);
+
+ str = connman_network_get_string(network, "WiFi.CACertFile");
+ if (str != NULL)
+ connman_dbus_dict_append_basic(dict, "CACertFile",
+ DBUS_TYPE_STRING, &str);
+
+ str = connman_network_get_string(network,
+ "WiFi.ClientCertFile");
+ if (str != NULL)
+ connman_dbus_dict_append_basic(dict, "ClientCertFile",
+ DBUS_TYPE_STRING, &str);
+
+ str = connman_network_get_string(network,
+ "WiFi.PrivateKeyFile");
+ if (str != NULL)
+ connman_dbus_dict_append_basic(dict, "PrivateKeyFile",
+ DBUS_TYPE_STRING, &str);
+ }
}
#endif
connman_dbus_dict_append_basic(dict, "Frequency",
DBUS_TYPE_UINT16, &frequency);
}
+ const void *wifi_vsie;
+ unsigned int wifi_vsie_len;
+ wifi_vsie = connman_network_get_blob(service->network, "WiFi.Vsie", &wifi_vsie_len);
+ if(wifi_vsie_len > 0) {
+ DBG("ConnMan, service->path=%s vsie length=%d", service->path, wifi_vsie_len);
+ }
+ connman_dbus_dict_append_fixed_array(dict, "Vsie", DBUS_TYPE_BYTE,
+ &wifi_vsie, wifi_vsie_len);
#endif
str = __connman_service_type2string(service->type);
connman_dbus_dict_append_basic(dict, "DisconnectReason",
DBUS_TYPE_INT32, &service->disconnect_reason);
+ connman_dbus_dict_append_basic(dict, "AssocStatusCode",
+ DBUS_TYPE_INT32, &service->assoc_status_code);
+
break;
#endif
case CONNMAN_SERVICE_TYPE_ETHERNET:
g_list_foreach(service_list, append_struct, iter);
}
-#if defined TIZEN_EXT
-static void append_wifi_vsie_properties(DBusMessageIter *iter,
- struct connman_service *service)
-{
- DBusMessageIter dict;
- const void *wifi_vsie;
- unsigned int wifi_vsie_len;
-
- connman_dbus_dict_open(iter, &dict);
-
- wifi_vsie = connman_network_get_blob(service->network, "WiFi.Vsie", &wifi_vsie_len);
-
- if(wifi_vsie_len > 0) {
- DBG("ConnMan, service->path=%s vsie length=%d", service->path, wifi_vsie_len);
- }
-
- connman_dbus_dict_append_fixed_array(&dict, "Vsie", DBUS_TYPE_BYTE,
- &wifi_vsie, wifi_vsie_len);
-
- connman_dbus_dict_close(iter, &dict);
-}
-
-void __connman_wifi_vsie_list_struct(DBusMessageIter *iter)
-{
- GList *list;
- DBusMessageIter entry;
-
- DBG("ConnMan, __connman_wifi_vsie_list_struct API called");
-
- for (list = service_list; list; list = list->next) {
- struct connman_service *service = list->data;
-
- if (!service->path ||
- service->type != CONNMAN_SERVICE_TYPE_WIFI ||
- service->network == NULL)
- continue;
-
- dbus_message_iter_open_container(iter, DBUS_TYPE_STRUCT,
- NULL, &entry);
- dbus_message_iter_append_basic(&entry, DBUS_TYPE_OBJECT_PATH,
- &service->path);
- append_wifi_vsie_properties(&entry, service);
- dbus_message_iter_close_container(iter, &entry);
- }
-}
-#endif
-
bool __connman_service_is_hidden(struct connman_service *service)
{
return service->hidden;
return FALSE;
}
+#if defined TIZEN_EXT
+bool __connman_service_get_auto_connect_mode(void)
+{
+ return auto_connect_mode;
+}
+
+void __connman_service_set_auto_connect_mode(bool enable)
+{
+ DBG("set auto_connect_mode = %d", enable);
+
+ if (auto_connect_mode != enable)
+ auto_connect_mode = enable;
+}
+#endif
+
void __connman_service_auto_connect(enum connman_service_connect_reason reason)
{
DBG("");
if (autoconnect_timeout != 0)
return;
+#if defined TIZEN_EXT
+ if (auto_connect_mode == FALSE) {
+ DBG("Currently, not auto connection mode");
+ return;
+ }
+#endif
+
if (!__connman_session_policy_autoconnect(reason))
return;
*/
if (service->type == CONNMAN_SERVICE_TYPE_CELLULAR)
connman_service_user_pdn_connection_ref(service);
+
+ /*Reset the Disconnect Reason while issue connect request*/
+ service->disconnect_reason = 0;
+
+ /*Reset the association status code while issue connect request*/
+ service->assoc_status_code = 0;
#endif
if (service->pending)
def_service = __connman_service_get_default();
service->disconnect_reason = connman_network_get_disconnect_reason(service->network);
+ service->assoc_status_code = connman_network_get_assoc_status_code(service->network);
if (!__connman_notifier_is_connected() &&
def_service &&
case CONNMAN_SERVICE_STATE_FAILURE:
#if defined TIZEN_EXT
+
+ service->assoc_status_code = connman_network_get_assoc_status_code(service->network);
+
if (service->type == CONNMAN_SERVICE_TYPE_WIFI)
service->order = 5;
__connman_service_auto_connect(CONNMAN_SERVICE_CONNECT_REASON_AUTO);