diff options
author | Alexander Larsson <alexl@redhat.com> | 2003-04-08 15:52:51 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2003-04-08 15:52:51 +0000 |
commit | c5020ac870c5990a36c3576453cc23431213e8bf (patch) | |
tree | 8b5c4c5b884e9481d1ce17b9a24d9c1bbe094428 /glib | |
parent | a162febe6746269f51b3a16db5f6fb240001f828 (diff) | |
download | dbus-c5020ac870c5990a36c3576453cc23431213e8bf.tar.gz dbus-c5020ac870c5990a36c3576453cc23431213e8bf.tar.bz2 dbus-c5020ac870c5990a36c3576453cc23431213e8bf.zip |
2003-04-08 Alexander Larsson <alexl@redhat.com>
Implemented recursive types, named types and new-style iters
* bus/driver.c:
* glib/test-thread-client.c: (thread_func):
* glib/test-thread-server.c: (handle_test_message):
* test/test-service.c: (handle_echo):
Update to new api
* dbus/Makefile.am:
* dbus/dbus-dict.c:
* dbus/dbus-dict.h:
* dbus/dbus.h
Remove DBusDict
* dbus/dbus-internals.c: (_dbus_type_to_string):
Update for new types.
* dbus/dbus-marshal.[ch]:
Implement recursive types and the new marshalling format.
Remove hardcoded dict marshalling.
Marshal named types.
* dbus/dbus-message-builder.c:
Add BYTE_ARRAY.
Remove references to old types
* dbus/dbus-message.[ch]:
New non-refcounted iter API that supports recursive iters.
Use iters for appending, including support for recursive
iters.
Add byte and named type support.
Update everything to new marshalling formats.
Add tests for new API.
* dbus/dbus-protocol.h:
Remove old array types.
Add types: BYTE, ARRAY, DICT, NAMED
* dbus/dbus-string.c:
* dbus/dbus-sysdeps.c:
Make parse_double locale safe.
* dbus/dbus-test-main.c:
Call setlocale.
* dbus/dbus-test.c:
Kill dict test
* doc/dbus-specification.sgml:
Update spec
* test/data/incomplete-messages/missing-body.message:
* test/data/invalid-messages/bad-boolean.message:
* test/data/invalid-messages/bad-boolean-array.message:
* test/data/invalid-messages/boolean-array-length-too-long.message-raw:
* test/data/invalid-messages/boolean-has-no-value.message-raw:
* test/data/invalid-messages/too-short-dict.message:
* test/data/valid-messages/dict-simple.message:
* test/data/valid-messages/dict.message:
* test/data/valid-messages/emptiness.message:
* test/data/valid-messages/lots-of-arguments.message:
* test/data/valid-messages/no-padding.message:
* test/data/valid-messages/recursive-types.message:
Add missing NAME fields
Fix up dicts & arrays
* test/data/invalid-messages/dict-with-nil-value.message:
Removed, this is not invalid anymore.
* test/data/valid-messages/recursive-types.message:
Add new test for deeply recursive types.
Diffstat (limited to 'glib')
-rw-r--r-- | glib/test-thread-client.c | 9 | ||||
-rw-r--r-- | glib/test-thread-server.c | 23 |
2 files changed, 17 insertions, 15 deletions
diff --git a/glib/test-thread-client.c b/glib/test-thread-client.c index 0232b860..38926ef0 100644 --- a/glib/test-thread-client.c +++ b/glib/test-thread-client.c @@ -13,6 +13,7 @@ thread_func (gpointer data) { gint32 threadnr = GPOINTER_TO_INT (data); guint32 counter = 0; + DBusMessageIter iter; DBusMessage *message; char *str; @@ -20,18 +21,20 @@ thread_func (gpointer data) { message = dbus_message_new (NULL, "org.freedesktop.ThreadTest"); - if (!dbus_message_append_int32 (message, threadnr)) + dbus_message_append_iter_init (message, &iter); + + if (!dbus_message_iter_append_int32 (&iter, threadnr)) { g_print ("thread %d: append threadnr failed\n", threadnr); } - if (!dbus_message_append_uint32 (message, counter)) + if (!dbus_message_iter_append_uint32 (&iter, counter)) { g_print ("thread %d: append counter (%d) failed\n", threadnr, counter); } str = g_strdup_printf ("Thread %d-%d\n", threadnr, counter); - if (!dbus_message_append_string (message, str)) + if (!dbus_message_iter_append_string (&iter, str)) { g_print ("thread %d: append string (%s) failed\n", threadnr, str); } diff --git a/glib/test-thread-server.c b/glib/test-thread-server.c index 06f597df..367a2b33 100644 --- a/glib/test-thread-server.c +++ b/glib/test-thread-server.c @@ -36,41 +36,40 @@ handle_test_message (DBusMessageHandler *handler, void *user_data) { ThreadTestData *data = user_data; - DBusMessageIter *iter; + DBusMessageIter iter; gint32 threadnr; guint32 counter; char *str, *expected_str; GString *counter_str; int i; - iter = dbus_message_get_args_iter (message); - g_assert (iter != NULL); + dbus_message_iter_init (message, &iter); - if (dbus_message_iter_get_arg_type (iter) != DBUS_TYPE_INT32) + if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_INT32) { g_print ("First arg not right type\n"); goto out; } - threadnr = dbus_message_iter_get_int32 (iter); + threadnr = dbus_message_iter_get_int32 (&iter); if (threadnr < 0 || threadnr >= N_TEST_THREADS) { g_print ("Invalid thread nr\n"); goto out; } - if (! dbus_message_iter_next (iter)) + if (! dbus_message_iter_next (&iter)) { g_print ("Couldn't get second arg\n"); goto out; } - if (dbus_message_iter_get_arg_type (iter) != DBUS_TYPE_UINT32) + if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_UINT32) { g_print ("Second arg not right type\n"); goto out; } - counter = dbus_message_iter_get_uint32 (iter); + counter = dbus_message_iter_get_uint32 (&iter); if (counter != data->counters[threadnr]) { @@ -79,19 +78,19 @@ handle_test_message (DBusMessageHandler *handler, } data->counters[threadnr]++; - if (! dbus_message_iter_next (iter)) + if (! dbus_message_iter_next (&iter)) { g_print ("Couldn't get third arg\n"); goto out; } - if (dbus_message_iter_get_arg_type (iter) != DBUS_TYPE_STRING) + if (dbus_message_iter_get_arg_type (&iter) != DBUS_TYPE_STRING) { g_print ("Third arg not right type\n"); goto out; } - str = dbus_message_iter_get_string (iter); + str = dbus_message_iter_get_string (&iter); if (str == NULL) { @@ -108,7 +107,7 @@ handle_test_message (DBusMessageHandler *handler, g_free (str); g_free (expected_str); - if (dbus_message_iter_next (iter)) + if (dbus_message_iter_next (&iter)) { g_print ("Extra args on end of message\n"); goto out; |