X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Ferror.c;h=00791c375d68f58d9564d35c15850ce5c0bc81b0;hb=a01a64f7444af4734621ba43af3f11216891e245;hp=844be333d0c177a2ad56afbe6dcd75a285fb8275;hpb=fe6586e923507bff6f15ae160ace4f8d40ffc573;p=platform%2Fupstream%2Fconnman.git diff --git a/src/error.c b/src/error.c index 844be33..00791c3 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,46 @@ 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", str); + ".Failed", "%s", str); } DBusMessage *__connman_error_invalid_arguments(DBusMessage *msg) @@ -50,6 +88,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 +118,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,22 +136,75 @@ 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"); +} + +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"); +}