spec file, manifest and gbs.conf adapted for Tizen
[platform/core/uifw/at-spi2-atk.git] / droute / droute-test.c
index a2ebe4d..1865622 100644 (file)
@@ -1,8 +1,8 @@
 #include <stdio.h>
+#include <stdlib.h>
 #include <glib.h>
 #include <string.h>
 #include <droute/droute.h>
-#include <dbind/dbind.h>
 
 #include "atspi/atspi.h"
 
@@ -185,11 +185,39 @@ static DRouteProperty test_properties[] = {
     {NULL, NULL, NULL}
 };
 
+static void
+set_reply (DBusPendingCall *pending, void *user_data)
+{
+    void **replyptr = (void **)user_data;
+
+    *replyptr = dbus_pending_call_steal_reply (pending);
+}
+
+static DBusMessage *
+send_and_allow_reentry (DBusConnection *bus, DBusMessage *message, DBusError *error)
+{
+    DBusPendingCall *pending;
+    DBusMessage *reply = NULL;
+
+    if (!dbus_connection_send_with_reply (bus, message, &pending, -1))
+    {
+        return NULL;
+    }
+    dbus_pending_call_set_notify (pending, set_reply, (void *)&reply, NULL);
+    while (!reply)
+    {
+      if (!dbus_connection_read_write_dispatch (bus, -1))
+        return NULL;
+    }
+    return reply;
+}
+
 gboolean
 do_tests_func (gpointer data)
 {
     DBusError    error;
     const gchar *bus_name;
+  DBusMessage *message, *reply;
 
     gchar     *expected_string;
     gchar     *result_string;
@@ -199,30 +227,33 @@ do_tests_func (gpointer data)
 
     /* --------------------------------------------------------*/
 
-    dbind_method_call_reentrant (bus,
-                                 bus_name,
-                                 TEST_OBJECT_PATH,
-                                 TEST_INTERFACE_ONE,
-                                 "null",
-                                 NULL,
-                                 "");
+    message = dbus_message_new_method_call (bus_name,
+                                            TEST_OBJECT_PATH,
+                                            TEST_INTERFACE_ONE,
+                                            "null");
+    reply = send_and_allow_reentry (bus, message, NULL);
+    dbus_message_unref (message);
+    if (reply)
+      dbus_message_unref (reply);
 
     /* --------------------------------------------------------*/
 
     expected_string = TEST_INTERFACE_ONE;
     result_string = NULL;
-    dbind_method_call_reentrant (bus,
-                                 bus_name,
-                                 TEST_OBJECT_PATH,
-                                 TEST_INTERFACE_ONE,
-                                 "getInterfaceOne",
-                                 NULL,
-                                 "=>s",
-                                 &result_string);
+    message = dbus_message_new_method_call (bus_name,
+                                            TEST_OBJECT_PATH,
+                                            TEST_INTERFACE_ONE,
+                                            "getInterfaceOne");
+    reply = send_and_allow_reentry (bus, message, NULL);
+  dbus_message_unref (message);
+    dbus_message_get_args (reply, NULL, DBUS_TYPE_STRING, &result_string,
+                           DBUS_TYPE_INVALID);
+    dbus_message_unref (reply);
     if (g_strcmp0(expected_string, result_string))
     {
-            g_print ("Failed: reply to getInterfaceOne not as expected\n");
-            goto out;
+            g_print ("Failed: reply to getInterfaceOne was %s; expected %s\n",
+                     result_string, expected_string);
+            exit (1);
     }
 
     /* --------------------------------------------------------*/
@@ -251,7 +282,7 @@ int main (int argc, char **argv)
     bus = dbus_bus_get (DBUS_BUS_SESSION, &error);
     atspi_dbus_connection_setup_with_g_main(bus, g_main_context_default());
 
-    cnx = droute_new (bus);
+    cnx = droute_new ();
     path = droute_add_one (cnx, TEST_OBJECT_PATH, object);
 
     droute_path_add_interface (path,
@@ -266,6 +297,8 @@ int main (int argc, char **argv)
                                test_methods_two,
                                test_properties);
 
+    droute_path_register (path, bus);
+
     g_idle_add (do_tests_func, NULL);
     g_main_loop_run(main_loop);
     if (success)