diff options
author | Mohamed Abbas <mabbas@linux.intel.com> | 2011-01-27 20:55:33 -0800 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-01-28 12:33:09 +0100 |
commit | 864c2f1123c8db196c7a9225ba3f5f4851ef8678 (patch) | |
tree | 99418f9471add704cad9b5bdd674f163aa6784b4 /src/provider.c | |
parent | ab4cdff6852fd5fe26ee3ad588f0200952841ffe (diff) | |
download | connman-864c2f1123c8db196c7a9225ba3f5f4851ef8678.tar.gz connman-864c2f1123c8db196c7a9225ba3f5f4851ef8678.tar.bz2 connman-864c2f1123c8db196c7a9225ba3f5f4851ef8678.zip |
provider: Report VPN error code
Diffstat (limited to 'src/provider.c')
-rw-r--r-- | src/provider.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/provider.c b/src/provider.c index e6bcb3df..6bd2df52 100644 --- a/src/provider.c +++ b/src/provider.c @@ -393,6 +393,30 @@ int connman_provider_set_state(struct connman_provider *provider, return -EINVAL; } +int connman_provider_indicate_error(struct connman_provider *provider, + enum connman_provider_error error) +{ + enum connman_service_error service_error; + + switch (error) { + case CONNMAN_PROVIDER_ERROR_LOGIN_FAILED: + service_error = CONNMAN_SERVICE_ERROR_LOGIN_FAILED; + break; + case CONNMAN_PROVIDER_ERROR_AUTH_FAILED: + service_error = CONNMAN_SERVICE_ERROR_AUTH_FAILED; + break; + case CONNMAN_PROVIDER_ERROR_CONNECT_FAILED: + service_error = CONNMAN_SERVICE_ERROR_CONNECT_FAILED; + break; + default: + service_error = CONNMAN_SERVICE_ERROR_UNKNOWN; + break; + } + + return __connman_service_indicate_error(provider->vpn_service, + service_error); +} + static void unregister_provider(gpointer data) { struct connman_provider *provider = data; |