summaryrefslogtreecommitdiff
path: root/glib
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2003-04-08 15:52:51 +0000
committerAlexander Larsson <alexl@redhat.com>2003-04-08 15:52:51 +0000
commitc5020ac870c5990a36c3576453cc23431213e8bf (patch)
tree8b5c4c5b884e9481d1ce17b9a24d9c1bbe094428 /glib
parenta162febe6746269f51b3a16db5f6fb240001f828 (diff)
downloaddbus-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.c9
-rw-r--r--glib/test-thread-server.c23
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;