X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Ferror.c;h=1a0592078b911130c642586287e95278cfabdf2c;hb=515ec5f2286e75d8a607d88fad3909a692a7e0dc;hp=56c2190271f853813ba898b1a6fa1fa9aed8df72;hpb=2ac15af11becf8b02a956b4954a7675b94d11e3d;p=platform%2Fupstream%2Fconnman.git diff --git a/src/error.c b/src/error.c index 56c2190..1a05920 100644 --- a/src/error.c +++ b/src/error.c @@ -2,7 +2,7 @@ * * Connection Manager * - * Copyright (C) 2007-2009 Intel Corporation. All rights reserved. + * Copyright (C) 2007-2013 Intel Corporation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -34,8 +34,43 @@ DBusMessage *__connman_error_failed(DBusMessage *msg, int errnum) { const char *str = strerror(errnum); + switch (errnum) { + case ESRCH: + return __connman_error_not_registered(msg); + case ENXIO: + return __connman_error_not_found(msg); + case EACCES: + return __connman_error_permission_denied(msg); + case EEXIST: + return __connman_error_already_exists(msg); + case EINVAL: + return __connman_error_invalid_arguments(msg); + case ENOSYS: + return __connman_error_not_implemented(msg); + case ENOLINK: + return __connman_error_no_carrier(msg); + case ENOTUNIQ: + return __connman_error_not_unique(msg); + case EOPNOTSUPP: + return __connman_error_not_supported(msg); + case ECONNABORTED: + return __connman_error_operation_aborted(msg); + case EISCONN: + return __connman_error_already_connected(msg); + case ENOTCONN: + case ECONNREFUSED: + return __connman_error_not_connected(msg); + case ETIMEDOUT: + return __connman_error_operation_timeout(msg); + case EALREADY: + case EINPROGRESS: + return __connman_error_in_progress(msg); + case ENOKEY: + return __connman_error_passphrase_required(msg); + } + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE - ".Failed", str); + ".Failed", "%s", str); } DBusMessage *__connman_error_invalid_arguments(DBusMessage *msg) @@ -50,6 +85,24 @@ DBusMessage *__connman_error_permission_denied(DBusMessage *msg) ".PermissionDenied", "Permission denied"); } +DBusMessage *__connman_error_passphrase_required(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".PassphraseRequired", "Passphrase required"); +} + +DBusMessage *__connman_error_not_registered(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".NotRegistered", "Not registered"); +} + +DBusMessage *__connman_error_not_unique(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".NotUnique", "Not unique"); +} + DBusMessage *__connman_error_not_supported(DBusMessage *msg) { return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE @@ -62,6 +115,12 @@ DBusMessage *__connman_error_not_implemented(DBusMessage *msg) ".NotImplemented", "Not implemented"); } +DBusMessage *__connman_error_not_found(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".NotFound", "Not found"); +} + DBusMessage *__connman_error_no_carrier(DBusMessage *msg) { return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE @@ -74,33 +133,69 @@ DBusMessage *__connman_error_in_progress(DBusMessage *msg) ".InProgress", "In progress"); } +DBusMessage *__connman_error_already_exists(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".AlreadyExists", "Already exists"); +} + +DBusMessage *__connman_error_already_enabled(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".AlreadyEnabled", "Already enabled"); +} + +DBusMessage *__connman_error_already_disabled(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".AlreadyDisabled", "Already disabled"); +} + DBusMessage *__connman_error_already_connected(DBusMessage *msg) { return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE ".AlreadyConnected", "Already connected"); - } +DBusMessage *__connman_error_not_connected(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".NotConnected", "Not connected"); +} DBusMessage *__connman_error_operation_aborted(DBusMessage *msg) { return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE - "OperationAborted", "Operation aborted"); + ".OperationAborted", "Operation aborted"); } DBusMessage *__connman_error_operation_timeout(DBusMessage *msg) { return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE - "OperationTimeout", "Operation timeout"); + ".OperationTimeout", "Operation timeout"); } DBusMessage *__connman_error_invalid_service(DBusMessage *msg) { return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE - "InvalidService", "Invalid service"); + ".InvalidService", "Invalid service"); } DBusMessage *__connman_error_invalid_property(DBusMessage *msg) { - return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE, - "InvalidProperty", "Invalid property"); + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".InvalidProperty", "Invalid property"); +} + +#if defined TIZEN_EXT_WIFI_MESH +DBusMessage *__connman_error_invalid_command(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".InvalidCommand", "Invalid Mesh Command"); } + +DBusMessage *__connman_error_scan_abort_failed(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".ScanAbortFailed", "Scan Abort Failed"); +} +#endif