summaryrefslogtreecommitdiffstats
path: root/dbus/dbus-marshal-recursive.h
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2004-12-31 00:06:34 +0000
committerHavoc Pennington <hp@redhat.com>2004-12-31 00:06:34 +0000
commit4f2318345b8207382926b2c13122a40a4f1eea0f (patch)
treea5ffe73ff58e2b71b67539f73f9ba07813b46a9e /dbus/dbus-marshal-recursive.h
parent00999397cef16fa989d055f52a3974f5897ca3b1 (diff)
add "types only" TypeReader, will move to use a vtable instead of a flag in a minute
Diffstat (limited to 'dbus/dbus-marshal-recursive.h')
-rw-r--r--dbus/dbus-marshal-recursive.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/dbus/dbus-marshal-recursive.h b/dbus/dbus-marshal-recursive.h
index 8e50fdc9..10108d1f 100644
--- a/dbus/dbus-marshal-recursive.h
+++ b/dbus/dbus-marshal-recursive.h
@@ -38,7 +38,12 @@ typedef struct DBusTypeReaderClass DBusTypeReaderClass;
struct DBusTypeReader
{
dbus_uint32_t byte_order : 8;
-
+
+ dbus_uint32_t types_only : 1; /* iterate over types not values */
+
+ dbus_uint32_t finished : 1; /* marks we're at end iterator for cases
+ * where we don't have another way to tell
+ */
const DBusString *type_str;
int type_pos;
const DBusString *value_str;
@@ -52,10 +57,6 @@ struct DBusTypeReader
dbus_uint32_t len;
int element_type;
} array;
-
- struct {
- dbus_uint32_t finished : 1;
- } strct;
} u;
};
@@ -87,6 +88,9 @@ void _dbus_type_reader_init (DBusTypeReader *reader,
int type_pos,
const DBusString *value_str,
int value_pos);
+void _dbus_type_reader_init_types_only (DBusTypeReader *reader,
+ const DBusString *type_str,
+ int type_pos);
int _dbus_type_reader_get_current_type (DBusTypeReader *reader);
dbus_bool_t _dbus_type_reader_array_is_empty (DBusTypeReader *reader);
void _dbus_type_reader_read_basic (DBusTypeReader *reader,