X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Ferror.c;h=00791c375d68f58d9564d35c15850ce5c0bc81b0;hb=refs%2Ftags%2Fsubmit%2Ftizen%2F20211125.124313;hp=21606cbc3f18f3dbcd03a60032c94dc080770601;hpb=9703f77e6f49cf5bcf318c1f2d315a6250ae773d;p=platform%2Fupstream%2Fconnman.git diff --git a/src/error.c b/src/error.c index 21606cb..00791c3 100644 --- a/src/error.c +++ b/src/error.c @@ -2,7 +2,7 @@ * * Connection Manager * - * Copyright (C) 2007-2008 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 @@ -23,24 +23,188 @@ #include #endif +#include +#include + #include #include "connman.h" -DBusMessage *__connman_error_failed(DBusMessage *msg) +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 EPERM: + 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); + case ECANCELED: + return __connman_error_operation_canceled(msg); + } + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE - ".Failed", NULL); + ".Failed", "%s", str); } DBusMessage *__connman_error_invalid_arguments(DBusMessage *msg) { return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE - ".InvalidArguments", NULL); + ".InvalidArguments", "Invalid arguments"); } DBusMessage *__connman_error_permission_denied(DBusMessage *msg) { return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE - ".PermissionDenied", NULL); + ".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 + ".NotSupported", "Not supported"); +} + +DBusMessage *__connman_error_not_implemented(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".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 + ".NoCarrier", "No carrier"); +} + +DBusMessage *__connman_error_in_progress(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".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"); +} + +DBusMessage *__connman_error_operation_timeout(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".OperationTimeout", "Operation timeout"); +} + +DBusMessage *__connman_error_invalid_service(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".InvalidService", "Invalid service"); +} + +DBusMessage *__connman_error_invalid_property(DBusMessage *msg) +{ + 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 + +DBusMessage *__connman_error_operation_canceled(DBusMessage *msg) +{ + return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE + ".OperationCanceled", "Operation canceled"); }