summaryrefslogtreecommitdiff
path: root/src/service.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/service.c')
-rwxr-xr-xsrc/service.c72
1 files changed, 36 insertions, 36 deletions
diff --git a/src/service.c b/src/service.c
index 1eae3807..34a37a7b 100755
--- a/src/service.c
+++ b/src/service.c
@@ -4085,8 +4085,10 @@ static void set_error(struct connman_service *service,
if (!service->path)
return;
+#if !defined TIZEN_EXT
if (!allow_property_changed(service))
return;
+#endif
str = error2string(service->error);
@@ -4619,8 +4621,12 @@ static DBusMessage *connect_service(DBusConnection *conn,
DBusMessage *msg, void *user_data)
{
struct connman_service *service = user_data;
+#if defined TIZEN_EXT
+ int err = 0;
+#else
int index, err = 0;
GList *list;
+#endif
DBG("service %p", service);
@@ -4660,6 +4666,7 @@ static DBusMessage *connect_service(DBusConnection *conn,
}
}
+#if !defined TIZEN_EXT
index = __connman_service_get_index(service);
for (list = service_list; list; list = list->next) {
@@ -4685,6 +4692,7 @@ static DBusMessage *connect_service(DBusConnection *conn,
}
if (err == -EINPROGRESS)
return __connman_error_operation_timeout(msg);
+#endif
service->ignore = false;
@@ -6002,34 +6010,6 @@ static int check_wpspin(struct connman_service *service, const char *wpspin)
return 0;
}
-#if defined TIZEN_EXT
-static int __connman_service_connect_hidden(struct connman_service *service,
- const char *name, int name_len,
- const char *identity, const char *passphrase, void *user_data)
-{
- GList *list;
-
- for (list = service_list; list; list = list->next) {
- struct connman_service *target = list->data;
- const char *target_ssid = NULL;
- unsigned int target_ssid_len = 0;
-
- if (service->network != NULL &&
- service->security == target->security) {
- target_ssid = connman_network_get_blob(service->network,
- "WiFi.SSID", &target_ssid_len);
- if (target_ssid_len == name_len &&
- memcmp(target_ssid, name, name_len) == 0) {
- return connman_network_connect_hidden(service->network,
- (char *)identity, (char *)passphrase, user_data);
- }
- }
- }
-
- return -ENOENT;
-}
-#endif
-
static void request_input_cb(struct connman_service *service,
bool values_received,
const char *name, int name_len,
@@ -6062,14 +6042,6 @@ static void request_input_cb(struct connman_service *service,
}
if (service->hidden && name_len > 0 && name_len <= 32) {
-#if defined TIZEN_EXT
- /* TIZEN already has Wi-Fi hidden scan before this hidden connection */
- err = __connman_service_connect_hidden(service, name, name_len,
- identity, passphrase, user_data);
- if (err == 0 || err == -EALREADY || err == -EINPROGRESS)
- return;
-#endif
-
device = connman_network_get_device(service->network);
security = connman_network_get_string(service->network,
"WiFi.Security");
@@ -6563,6 +6535,7 @@ static int service_indicate_state(struct connman_service *service)
#if defined TIZEN_EXT
if (service->type == CONNMAN_SERVICE_TYPE_WIFI)
service->order = 5;
+ __connman_service_auto_connect(CONNMAN_SERVICE_CONNECT_REASON_AUTO);
#endif
if (service->connect_reason == CONNMAN_SERVICE_CONNECT_REASON_USER &&
connman_agent_report_error(service, service->path,
@@ -7065,6 +7038,33 @@ static int service_connect(struct connman_service *service)
if (service->hidden)
return -EPERM;
+#if defined TIZEN_EXT
+ GList *list;
+ int index;
+
+ index = __connman_service_get_index(service);
+
+ for (list = service_list; list; list = list->next) {
+ struct connman_service *temp = list->data;
+
+ if (service->type == CONNMAN_SERVICE_TYPE_CELLULAR)
+ break;
+
+ if (!is_connecting(temp) && !is_connected(temp))
+ break;
+
+ if (service == temp)
+ continue;
+
+ if (service->type != temp->type)
+ continue;
+
+ if (__connman_service_get_index(temp) == index &&
+ __connman_service_disconnect(temp) == -EINPROGRESS)
+ return -EINPROGRESS;
+ }
+#endif
+
switch (service->type) {
case CONNMAN_SERVICE_TYPE_UNKNOWN:
case CONNMAN_SERVICE_TYPE_SYSTEM: