From 4f2318345b8207382926b2c13122a40a4f1eea0f Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Fri, 31 Dec 2004 00:06:34 +0000 Subject: add "types only" TypeReader, will move to use a vtable instead of a flag in a minute --- dbus/dbus-marshal-recursive.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'dbus/dbus-marshal-recursive.h') 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, -- cgit