X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fprovider.c;h=f1e4a0671f00eb06c85460322890096b1c41503f;hb=bcdfc3a44989365b0c05fb1f1e9f856f40556854;hp=22ff08ae48a884c40b95751bcd6dd5da9839c248;hpb=87ae92a8fff91a11db13a615d9fdc1133f9e7b7a;p=platform%2Fupstream%2Fconnman.git diff --git a/src/provider.c b/src/provider.c old mode 100644 new mode 100755 index 22ff08a..f1e4a06 --- a/src/provider.c +++ b/src/provider.c @@ -141,12 +141,12 @@ int connman_provider_disconnect(struct connman_provider *provider) provider_indicate_state(provider, CONNMAN_SERVICE_STATE_DISCONNECT); - if (err < 0) { - if (err != -EINPROGRESS) - return err; + if (err < 0) + return err; - return -EINPROGRESS; - } + if (provider->vpn_service) + provider_indicate_state(provider, + CONNMAN_SERVICE_STATE_IDLE); return 0; } @@ -164,14 +164,15 @@ int connman_provider_remove(struct connman_provider *provider) return 0; } -int __connman_provider_connect(struct connman_provider *provider) +int __connman_provider_connect(struct connman_provider *provider, + const char *dbus_sender) { int err; DBG("provider %p", provider); if (provider->driver && provider->driver->connect) - err = provider->driver->connect(provider); + err = provider->driver->connect(provider, dbus_sender); else return -EOPNOTSUPP; @@ -576,8 +577,14 @@ int connman_provider_set_nameservers(struct connman_provider *provider, return 0; for (i = 0; nameservers[i]; i++) +#if defined TIZEN_EXT + __connman_service_nameserver_append(provider->vpn_service, + nameservers[i], false, + CONNMAN_IPCONFIG_TYPE_ALL); +#else __connman_service_nameserver_append(provider->vpn_service, nameservers[i], false); +#endif return 0; } @@ -735,7 +742,7 @@ static void provider_service_changed(struct connman_service *service, vpn_index = __connman_connection_get_vpn_index(service_index); DBG("service %p %s state %d index %d/%d", service, - __connman_service_get_ident(service), + connman_service_get_identifier(service), state, service_index, vpn_index); if (vpn_index < 0) @@ -748,11 +755,9 @@ static void provider_service_changed(struct connman_service *service, DBG("disconnect %p index %d", provider, vpn_index); connman_provider_disconnect(provider); - - return; } -static struct connman_notifier provider_notifier = { +static const struct connman_notifier provider_notifier = { .name = "provider", .offline_mode = provider_offline_mode, .service_state_changed = provider_service_changed,