Imported Upstream version 1.38
[platform/upstream/connman.git] / src / error.c
index c250d25..a7a8a1d 100644 (file)
@@ -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
@@ -35,14 +35,23 @@ 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:
@@ -50,17 +59,21 @@ DBusMessage *__connman_error_failed(DBusMessage *msg, int errnum)
        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)
@@ -81,6 +94,18 @@ DBusMessage *__connman_error_passphrase_required(DBusMessage *msg)
                                ".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
@@ -93,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
@@ -105,6 +136,12 @@ 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
@@ -148,6 +185,12 @@ DBusMessage *__connman_error_invalid_service(DBusMessage *msg)
 
 DBusMessage *__connman_error_invalid_property(DBusMessage *msg)
 {
-       return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE,
+       return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
                                ".InvalidProperty", "Invalid property");
 }
+
+DBusMessage *__connman_error_operation_canceled(DBusMessage *msg)
+{
+       return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
+                               ".OperationCanceled", "Operation canceled");
+}