2009-02-10 Mark Doffman <mark.doffman@codethink.co.uk>
[platform/core/uifw/at-spi2-atk.git] / droute / droute.c
index 06ec2bd..5b749ae 100644 (file)
@@ -34,7 +34,7 @@
 #if defined DROUTE_DEBUG
     #define _DROUTE_DEBUG(format, args...) g_print (format , ## args)
 #else
-    #define _DROUTE_DEBUG
+    #define _DROUTE_DEBUG(format, args...)
 #endif
 
 struct _DRouteContext
@@ -129,6 +129,8 @@ droute_new (DBusConnection *bus, const char *introspect_dir)
     cnx->bus = bus;
     cnx->registered_paths = g_ptr_array_new ();
     cnx->introspect_dir = g_strdup(introspect_dir);
+
+    return cnx;
 }
 
 void
@@ -162,10 +164,12 @@ droute_add_one (DRouteContext *cnx,
                 const void    *data)
 {
     DRoutePath *new_path;
+    gboolean registered;
 
     new_path = path_new (cnx, (void *) data, NULL);
 
-    if (!dbus_connection_register_object_path (cnx->bus, path, &droute_vtable, new_path))
+    registered = dbus_connection_register_object_path (cnx->bus, path, &droute_vtable, new_path);
+    if (!registered)
         oom();
 
     g_ptr_array_add (cnx->registered_paths, new_path);
@@ -541,4 +545,40 @@ droute_not_yet_handled_error (DBusMessage *message)
     return reply;
 }
 
+DBusMessage *
+droute_out_of_memory_error (DBusMessage *message)
+{
+    DBusMessage *reply;
+    gchar       *errmsg;
+
+    errmsg= g_strdup_printf (
+            "Method \"%s\" with signature \"%s\" on interface \"%s\" could not be processed due to lack of memory\n",
+            dbus_message_get_member (message),
+            dbus_message_get_signature (message),
+            dbus_message_get_interface (message));
+    reply = dbus_message_new_error (message,
+                                    DBUS_ERROR_NO_MEMORY,
+                                    errmsg);
+    g_free (errmsg);
+    return reply;
+}
+
+DBusMessage *
+droute_invalid_arguments_error (DBusMessage *message)
+{
+    DBusMessage *reply;
+    gchar       *errmsg;
+
+    errmsg= g_strdup_printf (
+            "Method \"%s\" with signature \"%s\" on interface \"%s\" was supplied with invalid arguments\n",
+            dbus_message_get_member (message),
+            dbus_message_get_signature (message),
+            dbus_message_get_interface (message));
+    reply = dbus_message_new_error (message,
+                                    DBUS_ERROR_INVALID_ARGS,
+                                    errmsg);
+    g_free (errmsg);
+    return reply;
+}
+
 /*END------------------------------------------------------------------------*/