summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-message.h
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 /dbus/dbus-message.h
parenta162febe6746269f51b3a16db5f6fb240001f828 (diff)
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 'dbus/dbus-message.h')
-rw-r--r--dbus/dbus-message.h186
1 files changed, 117 insertions, 69 deletions
diff --git a/dbus/dbus-message.h b/dbus/dbus-message.h
index 47337863..6c82cf07 100644
--- a/dbus/dbus-message.h
+++ b/dbus/dbus-message.h
@@ -28,7 +28,6 @@
#define DBUS_MESSAGE_H
#include <dbus/dbus-macros.h>
-#include <dbus/dbus-dict.h>
#include <dbus/dbus-types.h>
#include <stdarg.h>
@@ -37,6 +36,21 @@ DBUS_BEGIN_DECLS;
typedef struct DBusMessage DBusMessage;
typedef struct DBusMessageIter DBusMessageIter;
+struct DBusMessageIter
+{
+ void *dummy1;
+ void *dummy2;
+ dbus_uint32_t dummy3;
+ int dummy4;
+ int dummy5;
+ int dummy6;
+ int dummy7;
+ int dummy8;
+ int dummy9;
+ int dummy10;
+};
+
+
DBusMessage* dbus_message_new (const char *service,
const char *name);
DBusMessage* dbus_message_new_reply (DBusMessage *original_message);
@@ -68,85 +82,119 @@ dbus_bool_t dbus_message_set_reply_serial (DBusMessage *message,
dbus_int32_t dbus_message_get_reply_serial (DBusMessage *message);
-dbus_bool_t dbus_message_append_args (DBusMessage *message,
- int first_arg_type,
+dbus_bool_t dbus_message_append_args (DBusMessage *message,
+ int first_arg_type,
+ ...);
+dbus_bool_t dbus_message_append_args_valist (DBusMessage *message,
+ int first_arg_type,
+ va_list var_args);
+dbus_bool_t dbus_message_get_args (DBusMessage *message,
+ DBusError *error,
+ int first_arg_type,
...);
-dbus_bool_t dbus_message_append_args_valist (DBusMessage *message,
- int first_arg_type,
- va_list var_args);
-dbus_bool_t dbus_message_append_nil (DBusMessage *message);
-dbus_bool_t dbus_message_append_boolean (DBusMessage *message,
- dbus_bool_t value);
-dbus_bool_t dbus_message_append_int32 (DBusMessage *message,
- dbus_int32_t value);
-dbus_bool_t dbus_message_append_uint32 (DBusMessage *message,
- dbus_uint32_t value);
-dbus_bool_t dbus_message_append_double (DBusMessage *message,
- double value);
-dbus_bool_t dbus_message_append_string (DBusMessage *message,
- const char *value);
-dbus_bool_t dbus_message_append_boolean_array (DBusMessage *message,
- unsigned const char *value,
- int len);
-dbus_bool_t dbus_message_append_int32_array (DBusMessage *message,
- const dbus_int32_t *value,
- int len);
-dbus_bool_t dbus_message_append_uint32_array (DBusMessage *message,
- const dbus_uint32_t *value,
- int len);
-dbus_bool_t dbus_message_append_double_array (DBusMessage *message,
- const double *value,
- int len);
-dbus_bool_t dbus_message_append_byte_array (DBusMessage *message,
- unsigned const char *value,
- int len);
-dbus_bool_t dbus_message_append_string_array (DBusMessage *message,
- const char **value,
- int len);
-dbus_bool_t dbus_message_append_dict (DBusMessage *message,
- DBusDict *dict);
-
-DBusMessageIter *dbus_message_get_args_iter (DBusMessage *message);
-dbus_bool_t dbus_message_get_args (DBusMessage *message,
- DBusError *error,
- int first_arg_type,
- ...);
-dbus_bool_t dbus_message_get_args_valist (DBusMessage *message,
- DBusError *error,
- int first_arg_type,
- va_list var_args);
-
-
-void dbus_message_iter_ref (DBusMessageIter *iter);
-void dbus_message_iter_unref (DBusMessageIter *iter);
-dbus_bool_t dbus_message_iter_has_next (DBusMessageIter *iter);
-dbus_bool_t dbus_message_iter_next (DBusMessageIter *iter);
-int dbus_message_iter_get_arg_type (DBusMessageIter *iter);
-dbus_bool_t dbus_message_iter_get_boolean (DBusMessageIter *iter);
-int dbus_message_iter_get_int32 (DBusMessageIter *iter);
-int dbus_message_iter_get_uint32 (DBusMessageIter *iter);
-double dbus_message_iter_get_double (DBusMessageIter *iter);
-char * dbus_message_iter_get_string (DBusMessageIter *iter);
-dbus_bool_t dbus_message_iter_get_boolean_array (DBusMessageIter *iter,
+dbus_bool_t dbus_message_get_args_valist (DBusMessage *message,
+ DBusError *error,
+ int first_arg_type,
+ va_list var_args);
+dbus_bool_t dbus_message_iter_get_args (DBusMessageIter *iter,
+ DBusError *error,
+ int first_arg_type,
+ ...);
+dbus_bool_t dbus_message_iter_get_args_valist (DBusMessageIter *iter,
+ DBusError *error,
+ int first_arg_type,
+ va_list var_args);
+
+
+
+void dbus_message_iter_init (DBusMessage *message,
+ DBusMessageIter *iter);
+dbus_bool_t dbus_message_iter_has_next (DBusMessageIter *iter);
+dbus_bool_t dbus_message_iter_next (DBusMessageIter *iter);
+int dbus_message_iter_get_arg_type (DBusMessageIter *iter);
+int dbus_message_iter_get_array_type (DBusMessageIter *iter);
+unsigned char dbus_message_iter_get_byte (DBusMessageIter *iter);
+dbus_bool_t dbus_message_iter_get_boolean (DBusMessageIter *iter);
+dbus_int32_t dbus_message_iter_get_int32 (DBusMessageIter *iter);
+dbus_uint32_t dbus_message_iter_get_uint32 (DBusMessageIter *iter);
+double dbus_message_iter_get_double (DBusMessageIter *iter);
+char * dbus_message_iter_get_string (DBusMessageIter *iter);
+char * dbus_message_iter_get_dict_key (DBusMessageIter *iter);
+char * dbus_message_iter_get_named (DBusMessageIter *iter,
+ unsigned char **value,
+ int *len);
+
+dbus_bool_t dbus_message_iter_init_array_iterator (DBusMessageIter *iter,
+ DBusMessageIter *array_iter,
+ int *array_type);
+dbus_bool_t dbus_message_iter_init_dict_iterator (DBusMessageIter *iter,
+ DBusMessageIter *dict_iter);
+dbus_bool_t dbus_message_iter_get_byte_array (DBusMessageIter *iter,
+ unsigned char **value,
+ int *len);
+dbus_bool_t dbus_message_iter_get_boolean_array (DBusMessageIter *iter,
unsigned char **value,
int *len);
-dbus_bool_t dbus_message_iter_get_int32_array (DBusMessageIter *iter,
+dbus_bool_t dbus_message_iter_get_int32_array (DBusMessageIter *iter,
dbus_int32_t **value,
int *len);
-dbus_bool_t dbus_message_iter_get_uint32_array (DBusMessageIter *iter,
+dbus_bool_t dbus_message_iter_get_uint32_array (DBusMessageIter *iter,
dbus_uint32_t **value,
int *len);
-dbus_bool_t dbus_message_iter_get_double_array (DBusMessageIter *iter,
+dbus_bool_t dbus_message_iter_get_double_array (DBusMessageIter *iter,
double **value,
int *len);
-dbus_bool_t dbus_message_iter_get_byte_array (DBusMessageIter *iter,
- unsigned char **value,
- int *len);
-dbus_bool_t dbus_message_iter_get_string_array (DBusMessageIter *iter,
+dbus_bool_t dbus_message_iter_get_string_array (DBusMessageIter *iter,
char ***value,
int *len);
-dbus_bool_t dbus_message_iter_get_dict (DBusMessageIter *iter,
- DBusDict **dict);
+
+
+void dbus_message_append_iter_init (DBusMessage *message,
+ DBusMessageIter *iter);
+dbus_bool_t dbus_message_iter_append_nil (DBusMessageIter *iter);
+dbus_bool_t dbus_message_iter_append_boolean (DBusMessageIter *iter,
+ dbus_bool_t value);
+dbus_bool_t dbus_message_iter_append_byte (DBusMessageIter *iter,
+ unsigned char value);
+dbus_bool_t dbus_message_iter_append_int32 (DBusMessageIter *iter,
+ dbus_int32_t value);
+dbus_bool_t dbus_message_iter_append_uint32 (DBusMessageIter *iter,
+ dbus_uint32_t value);
+dbus_bool_t dbus_message_iter_append_double (DBusMessageIter *iter,
+ double value);
+dbus_bool_t dbus_message_iter_append_string (DBusMessageIter *iter,
+ const char *value);
+dbus_bool_t dbus_message_iter_append_named (DBusMessageIter *iter,
+ const char *name,
+ const unsigned char *data,
+ int len);
+dbus_bool_t dbus_message_iter_append_dict_key (DBusMessageIter *iter,
+ const char *value);
+dbus_bool_t dbus_message_iter_append_array (DBusMessageIter *iter,
+ DBusMessageIter *array_iter,
+ int element_type);
+dbus_bool_t dbus_message_iter_append_dict (DBusMessageIter *iter,
+ DBusMessageIter *dict_iter);
+
+/* Helpers for normal types: */
+dbus_bool_t dbus_message_iter_append_boolean_array (DBusMessageIter *iter,
+ unsigned const char *value,
+ int len);
+dbus_bool_t dbus_message_iter_append_int32_array (DBusMessageIter *iter,
+ const dbus_int32_t *value,
+ int len);
+dbus_bool_t dbus_message_iter_append_uint32_array (DBusMessageIter *iter,
+ const dbus_uint32_t *value,
+ int len);
+dbus_bool_t dbus_message_iter_append_double_array (DBusMessageIter *iter,
+ const double *value,
+ int len);
+dbus_bool_t dbus_message_iter_append_byte_array (DBusMessageIter *iter,
+ unsigned const char *value,
+ int len);
+dbus_bool_t dbus_message_iter_append_string_array (DBusMessageIter *iter,
+ const char **value,
+ int len);