summaryrefslogtreecommitdiffstats
path: root/test/glib/test-dbus-glib.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2005-01-15 07:15:38 +0000
committerHavoc Pennington <hp@redhat.com>2005-01-15 07:15:38 +0000
commit9c3d566e95c9080f6040c64531b0ccae22bd5d74 (patch)
treed21a18baa5a5ee9855c8a00eb2c1985bc23ca65f /test/glib/test-dbus-glib.c
parent6ec04e917c8b4d477e818aa65ebb5e1fd50e4395 (diff)
2005-01-15 Havoc Pennington <hp@redhat.com>
* Land the new message args API and type system. This patch is huge, but the public API change is not really large. The set of D-BUS types has changed somewhat, and the arg "getters" are more geared toward language bindings; they don't make a copy, etc. There are also some known issues. See these emails for details on this huge patch: http://lists.freedesktop.org/archives/dbus/2004-December/001836.html http://lists.freedesktop.org/archives/dbus/2005-January/001922.html * dbus/dbus-marshal-*: all the new stuff * dbus/dbus-message.c: basically rewritten * dbus/dbus-memory.c (check_guards): with "guards" enabled, init freed blocks to be all non-nul bytes so using freed memory is less likely to work right * dbus/dbus-internals.c (_dbus_test_oom_handling): add DBUS_FAIL_MALLOC=N environment variable, so you can do DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or DBUS_FAIL_MALLOC=10 to make it really, really, really slow and thorough. * qt/message.cpp: port to the new message args API (operator<<): use str.utf8() rather than str.unicode() (pretty sure this is right from the Qt docs?) * glib/dbus-gvalue.c: port to the new message args API * bus/dispatch.c, bus/driver.c: port to the new message args API * dbus/dbus-string.c (_dbus_string_init_const_len): initialize the "locked" flag to TRUE and align_offset to 0; I guess we never looked at these anyhow, but seems cleaner. * dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING): move allocation padding macro to this header; use it to implement (_DBUS_STRING_STATIC): ability to declare a static string. * dbus/dbus-message.c (_dbus_message_has_type_interface_member): change to return TRUE if the interface is not set. * dbus/dbus-string.[hc]: move the D-BUS specific validation stuff to dbus-marshal-validate.[hc] * dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from dbus-internals.c * dbus/Makefile.am: cut over from dbus-marshal.[hc] to dbus-marshal-*.[hc] * dbus/dbus-object-tree.c (_dbus_decompose_path): move this function here from dbus-marshal.c
Diffstat (limited to 'test/glib/test-dbus-glib.c')
-rw-r--r--test/glib/test-dbus-glib.c59
1 files changed, 33 insertions, 26 deletions
diff --git a/test/glib/test-dbus-glib.c b/test/glib/test-dbus-glib.c
index 2315c97c..5ebf3b9d 100644
--- a/test/glib/test-dbus-glib.c
+++ b/test/glib/test-dbus-glib.c
@@ -62,8 +62,9 @@ main (int argc, char **argv)
int service_list_len;
int i;
guint32 result;
- char *str;
-
+ const char *v_STRING;
+ guint32 v_UINT32;
+
g_type_init ();
loop = g_main_loop_new (NULL, FALSE);
@@ -115,12 +116,14 @@ main (int argc, char **argv)
g_strfreev (service_list);
/* Test handling of unknown method */
+ v_STRING = "blah blah blah blah blah";
+ v_UINT32 = 10;
call = dbus_g_proxy_begin_call (driver, "ThisMethodDoesNotExist",
- DBUS_TYPE_STRING,
- "blah blah blah blah blah",
- DBUS_TYPE_INT32,
- 10,
- DBUS_TYPE_INVALID);
+ DBUS_TYPE_STRING,
+ &v_STRING,
+ DBUS_TYPE_INT32,
+ &v_UINT32,
+ DBUS_TYPE_INVALID);
error = NULL;
if (dbus_g_proxy_end_call (driver, call, &error,
@@ -135,17 +138,19 @@ main (int argc, char **argv)
g_error_free (error);
/* Activate a service */
+ v_STRING = "org.freedesktop.DBus.TestSuiteEchoService";
+ v_UINT32 = 0;
call = dbus_g_proxy_begin_call (driver, "ActivateService",
- DBUS_TYPE_STRING,
- "org.freedesktop.DBus.TestSuiteEchoService",
- DBUS_TYPE_UINT32,
- 0,
- DBUS_TYPE_INVALID);
+ DBUS_TYPE_STRING,
+ &v_STRING,
+ DBUS_TYPE_UINT32,
+ &v_UINT32,
+ DBUS_TYPE_INVALID);
error = NULL;
if (!dbus_g_proxy_end_call (driver, call, &error,
- DBUS_TYPE_UINT32, &result,
- DBUS_TYPE_INVALID))
+ DBUS_TYPE_UINT32, &result,
+ DBUS_TYPE_INVALID))
{
g_printerr ("Failed to complete Activate call: %s\n",
error->message);
@@ -156,12 +161,14 @@ main (int argc, char **argv)
g_print ("Activation of echo service = 0x%x\n", result);
/* Activate a service again */
+ v_STRING = "org.freedesktop.DBus.TestSuiteEchoService";
+ v_UINT32 = 0;
call = dbus_g_proxy_begin_call (driver, "ActivateService",
- DBUS_TYPE_STRING,
- "org.freedesktop.DBus.TestSuiteEchoService",
- DBUS_TYPE_UINT32,
- 0,
- DBUS_TYPE_INVALID);
+ DBUS_TYPE_STRING,
+ &v_STRING,
+ DBUS_TYPE_UINT32,
+ &v_UINT32,
+ DBUS_TYPE_INVALID);
error = NULL;
if (!dbus_g_proxy_end_call (driver, call, &error,
@@ -192,15 +199,16 @@ main (int argc, char **argv)
exit (1);
}
+ v_STRING = "my string hello";
call = dbus_g_proxy_begin_call (proxy, "Echo",
- DBUS_TYPE_STRING,
- "my string hello",
- DBUS_TYPE_INVALID);
+ DBUS_TYPE_STRING,
+ &v_STRING,
+ DBUS_TYPE_INVALID);
error = NULL;
if (!dbus_g_proxy_end_call (proxy, call, &error,
- DBUS_TYPE_STRING, &str,
- DBUS_TYPE_INVALID))
+ DBUS_TYPE_STRING, &v_STRING,
+ DBUS_TYPE_INVALID))
{
g_printerr ("Failed to complete Echo call: %s\n",
error->message);
@@ -208,8 +216,7 @@ main (int argc, char **argv)
exit (1);
}
- g_print ("String echoed = \"%s\"\n", str);
- g_free (str);
+ g_print ("String echoed = \"%s\"\n", v_STRING);
/* Test oneway call and signal handling */