diff options
author | Ulf <ulf.hofemeier@intel.com> | 2012-10-15 08:48:33 -0700 |
---|---|---|
committer | Ulf <ulf.hofemeier@intel.com> | 2012-10-15 08:48:33 -0700 |
commit | ea5e13a057fdebdcc293c9da0b6544187ed0596f (patch) | |
tree | b56b2772983e28566121a5109300be28eeba6add /src/error.c | |
download | neard-ea5e13a057fdebdcc293c9da0b6544187ed0596f.tar.gz neard-ea5e13a057fdebdcc293c9da0b6544187ed0596f.tar.bz2 neard-ea5e13a057fdebdcc293c9da0b6544187ed0596f.zip |
Importing files for neard 0.7submit/trunk/20121015.154845accepted/trunk/20121015.153124
Diffstat (limited to 'src/error.c')
-rw-r--r-- | src/error.c | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/src/error.c b/src/error.c new file mode 100644 index 0000000..4012b5b --- /dev/null +++ b/src/error.c @@ -0,0 +1,191 @@ +/* + * + * neard - Near Field Communication manager + * + * Copyright (C) 2011 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 + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <errno.h> +#include <string.h> + +#include <gdbus.h> + +#include "near.h" + +DBusMessage *__near_error_failed(DBusMessage *msg, int errnum) +{ + const char *str = strerror(errnum); + + switch (errnum) { + case ESRCH: + return __near_error_not_registered(msg); + case ENXIO: + return __near_error_not_found(msg); + case EACCES: + return __near_error_permission_denied(msg); + case EEXIST: + return __near_error_already_exists(msg); + case EINVAL: + return __near_error_invalid_arguments(msg); + case ENOSYS: + return __near_error_not_implemented(msg); + case ENOLINK: + return __near_error_no_carrier(msg); + case ENOTUNIQ: + return __near_error_not_unique(msg); + case EOPNOTSUPP: + return __near_error_not_supported(msg); + case ECONNABORTED: + return __near_error_operation_aborted(msg); + case EISCONN: + return __near_error_already_connected(msg); + case ENOTCONN: + return __near_error_not_connected(msg); + case ETIMEDOUT: + return __near_error_operation_timeout(msg); + case EALREADY: + return __near_error_in_progress(msg); + case ENOKEY: + return __near_error_passphrase_required(msg); + } + + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".Failed", "%s", str); +} + +DBusMessage *__near_error_invalid_arguments(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".InvalidArguments", "Invalid arguments"); +} + +DBusMessage *__near_error_permission_denied(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".PermissionDenied", "Permission denied"); +} + +DBusMessage *__near_error_passphrase_required(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".PassphraseRequired", "Passphrase required"); +} + +DBusMessage *__near_error_not_registered(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".NotRegistered", "Not registered"); +} + +DBusMessage *__near_error_not_unique(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".NotUnique", "Not unique"); +} + +DBusMessage *__near_error_not_supported(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".NotSupported", "Not supported"); +} + +DBusMessage *__near_error_not_implemented(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".NotImplemented", "Not implemented"); +} + +DBusMessage *__near_error_not_found(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".NotFound", "Not found"); +} + +DBusMessage *__near_error_not_polling(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".Failed", "Not polling"); +} + +DBusMessage *__near_error_no_carrier(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".NoCarrier", "No carrier"); +} + +DBusMessage *__near_error_in_progress(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".InProgress", "In progress"); +} + +DBusMessage *__near_error_already_exists(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".AlreadyExists", "Already exists"); +} + +DBusMessage *__near_error_already_enabled(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".AlreadyEnabled", "Already enabled"); +} + +DBusMessage *__near_error_already_disabled(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".AlreadyDisabled", "Already disabled"); +} + +DBusMessage *__near_error_already_connected(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".AlreadyConnected", "Already connected"); +} + +DBusMessage *__near_error_not_connected(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".NotConnected", "Not connected"); +} +DBusMessage *__near_error_operation_aborted(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".OperationAborted", "Operation aborted"); +} + +DBusMessage *__near_error_operation_timeout(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".OperationTimeout", "Operation timeout"); +} + +DBusMessage *__near_error_invalid_service(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".InvalidService", "Invalid service"); +} + +DBusMessage *__near_error_invalid_property(DBusMessage *msg) +{ + return g_dbus_create_error(msg, NFC_ERROR_INTERFACE + ".InvalidProperty", "Invalid property"); +} |