blob: a9d2d435ff86938afd293ed7abaf6a065e8f1001 [file] [log] [blame]
/*
*
* 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 ENOMEM:
return __near_error_out_of_memory(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 EIO:
return __near_error_io_error(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);
case ENOSPC:
return __near_error_no_space_left(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_out_of_memory(DBusMessage *msg)
{
return g_dbus_create_error(msg, NFC_ERROR_INTERFACE
".OutOfMemory", "Out of memory");
}
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");
}
DBusMessage *__near_error_io_error(DBusMessage *msg)
{
return g_dbus_create_error(msg, NFC_ERROR_INTERFACE
".IOError", "I/O Error");
}
DBusMessage *__near_error_no_space_left(DBusMessage *msg)
{
return g_dbus_create_error(msg, NFC_ERROR_INTERFACE
".NoSpaceLeft", "No space left");
}