Add generic failure reply
authorMarcel Holtmann <marcel@holtmann.org>
Fri, 5 Dec 2008 21:11:51 +0000 (22:11 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 5 Dec 2008 21:11:51 +0000 (22:11 +0100)
src/connman.h
src/element.c
src/error.c

index c42859f..9f7c4c1 100644 (file)
@@ -27,6 +27,7 @@
 #define NM_PATH       "/org/freedesktop/NetworkManager"
 #define NM_INTERFACE  NM_SERVICE
 
+DBusMessage *__connman_error_failed(DBusMessage *msg);
 DBusMessage *__connman_error_invalid_arguments(DBusMessage *msg);
 DBusMessage *__connman_error_permission_denied(DBusMessage *msg);
 
index 36f4090..0f7cecc 100644 (file)
@@ -288,11 +288,13 @@ static DBusMessage *do_update(DBusConnection *conn,
        DBG("conn %p", conn);
 
        if (element->enabled == FALSE)
-               return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
+               return __connman_error_failed(msg);
 
        if (element->driver && element->driver->update) {
                DBG("Calling update callback");
-               element->driver->update(element);
+               if (element->driver->update(element) < 0)
+                       return __connman_error_failed(msg);
+
        }
 
        return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
@@ -306,12 +308,12 @@ static DBusMessage *do_enable(DBusConnection *conn,
        DBG("conn %p", conn);
 
        if (element->enabled == TRUE)
-               return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
+               return __connman_error_failed(msg);
 
        if (element->driver && element->driver->enable) {
                DBG("Calling enable callback");
                if (element->driver->enable(element) < 0)
-                       return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
+                       return __connman_error_failed(msg);
        }
 
        element->enabled = TRUE;
@@ -334,12 +336,12 @@ static DBusMessage *do_disable(DBusConnection *conn,
        DBG("conn %p", conn);
 
        if (element->enabled == FALSE)
-               return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
+               return __connman_error_failed(msg);
 
        if (element->driver && element->driver->disable) {
                DBG("Calling disable callback");
                if (element->driver->disable(element) < 0)
-                       return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
+                       return __connman_error_failed(msg);
        }
 
        element->enabled = FALSE;
index 08f94d2..21606cb 100644 (file)
 
 #include "connman.h"
 
+DBusMessage *__connman_error_failed(DBusMessage *msg)
+{
+       return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE
+                                                       ".Failed", NULL);
+}
+
 DBusMessage *__connman_error_invalid_arguments(DBusMessage *msg)
 {
        return g_dbus_create_error(msg, CONNMAN_ERROR_INTERFACE