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. --- doc/dbus-specification.xml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'doc') diff --git a/doc/dbus-specification.xml b/doc/dbus-specification.xml index 74df3b33..1d47733c 100644 --- a/doc/dbus-specification.xml +++ b/doc/dbus-specification.xml @@ -2294,14 +2294,22 @@ <node name="/org/freedesktop/sample_object"> <interface name="org.freedesktop.SampleInterface"> <method name="Frobate"> - <arg name="foo" type="int32" direction="in"/> - <arg name="bar" type="string" direction="out"/> + <arg name="foo" type="i" direction="in"/> + <arg name="bar" type="s" direction="out"/> + <arg name="baz" type="a{us}" direction="out"/> <annotation name="org.freedesktop.DBus.Deprecated" value="true"/> </method> + <method name="Bazify"> + <arg name="bar" type="(iiu)" direction="in"/> + <arg name="bar" type="v" direction="out"/> + </method> + <method name="Mogrify"> + <arg name="bar" type="(iiav)" direction="in"/> + </method> <signal name="Changed"> - <arg name="new_value" type="boolean"/> + <arg name="new_value" type="b"/> </signal> - <property name="Bar" type="byte" access="readwrite"/> + <property name="Bar" type="y" access="readwrite"/> </interface> <node name="child_of_sample_object"/> <node name="another_child_of_sample_object"/> @@ -2352,14 +2360,6 @@ "readwrite", "read", and "write" - - - The current type="uint32" stuff is totally broken, - instead we have to do full signatures. - However, then this format will suck for human readability. - So, some thinking to do here. - - Multiple interfaces can of course be listed for -- cgit