From 54a2e9f7961b4b8afff94bb0c5b756f986965be6 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 24 Feb 2005 16:03:56 +0000 Subject: 2005-02-24 Colin Walters * dbus/dbus-signature.c: New file; implements various functions related to type signatures. Includes an interator for parsing, validation functions. (dbus_type_is_basic): Moved here from dbus-marshal-basic.c:_dbus_type_is_basic. (dbus_type_is_container): Moved here from dbus-marshal-basic.c:_dbus_type_is_container. All callers of _dbus_type_is_container and _dbus_type_is_basic updated, and include dbus-signature.h. * dbus/dbus-signature.h: New file; prototypes for the above. * dbus/Makefile.am (DBUS_LIB_SOURCES): Add dbus-signature.c, dbus-signature.h. * dbus/dbus-marshal-basic.c (map_type_char_to_type): New utility function factored out of _dbus_first_type_in_signature. (_dbus_first_type_in_signature_c_str): New function; returns first type code for a type signature character. * dbus/dbus-marshal-basic.h: Prototype _dbus_first_type_in_signature_c_str, handle function moves. * dbus/dbus-marshal-recursive.h: Export _dbus_type_signature_next. * dbus/dbus-marshal-recursive.c (_dbus_type_signature_next): New function; skips to next complete type in type signature. Implemented using previous skip_one_complete_type. Now skip_one_complete_type just delegates to _dbus_type_signature_next. * dbus/dbus-marshal-basic.c (_dbus_type_is_basic): Moved to dbus-signature.c (_dbus_type_is_container): Ditto. * doc/dbus-specification.xml: Update introspection sample to use real type signatures. * dbus/dbus-test.h: Prototype signature test. * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Run signature tests. * dbus/dbus-protocol.h (DBUS_ERROR_INVALID_SIGNATURE): New error. --- dbus/dbus-marshal-basic.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'dbus/dbus-marshal-basic.h') diff --git a/dbus/dbus-marshal-basic.h b/dbus/dbus-marshal-basic.h index f25d38c2..b474ace2 100644 --- a/dbus/dbus-marshal-basic.h +++ b/dbus/dbus-marshal-basic.h @@ -244,14 +244,16 @@ dbus_uint32_t _dbus_marshal_read_uint32 (const DBusString *str, int *new_pos); dbus_bool_t _dbus_type_is_valid (int typecode); int _dbus_type_get_alignment (int typecode); -dbus_bool_t _dbus_type_is_basic (int typecode); -dbus_bool_t _dbus_type_is_container (int typecode); dbus_bool_t _dbus_type_is_fixed (int typecode); +int _dbus_type_get_alignment (int typecode); const char* _dbus_type_to_string (int typecode); int _dbus_first_type_in_signature (const DBusString *str, int pos); +int _dbus_first_type_in_signature_c_str (const char *str, + int pos); + void _dbus_swap_array (unsigned char *data, int n_elements, int alignment); -- cgit