diff options
author | Colin Walters <walters@verbum.org> | 2005-02-17 21:11:18 +0000 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2005-02-17 21:11:18 +0000 |
commit | dc12fac5f8a36d0276719bc5a98aa63bffe86399 (patch) | |
tree | 4f8e865c9933a261be0aaa3f72fa66a44786813d /doc/dbus-specification.xml | |
parent | 03f6615eaccc2c1f84d4252e5a627a2ac86d41d9 (diff) |
2005-02-17 Colin Walters <walters@verbum.org>
* glib/dbus-gparser.c (struct Parser): Add in_annotation boolean.
(parse_node, parse_interface, parse_method, parse_signal)
(parse_property, parse_annotation): Lose if we're currently in an
annotation.
(parse_annotation): New function.
(parser_start_element, parser_end_element): Handle annotation.
(parse_method, parse_interface): Remove support for c_name attribute,
switch to annotations.
* glib/dbus-gidl.h (interface_info_get_binding_names)
(method_info_get_binding_names)
(interface_info_get_binding_name, method_info_get_binding_name)
(interface_info_set_binding_name, method_info_set_binding_name):
Remove.
(interface_info_get_annotations, method_info_get_annotations)
(interface_info_get_annotation, method_info_get_annotation)
(interface_info_add_annotation, method_info_add_annotation):
Prototype.
* glib/dbus-gidl.c (struct InterfaceInfo): Substitute "annotations"
for "bindings".
(struct MethodInfo): Ditto.
Straightfoward conversion of binding methods into annotation methods
as prototyped.
* glib/dbus-glib-tool.c (pretty_print): Print annotations.
* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_C_SYMBOL): Define.
* glib/dbus-binding-tool-glib.c (gather_marshallers, generate_glue):
Use new annotation API.
* doc/introspect.dtd: Fix a number of DTD syntax errors. Add
annotation element.
* doc/dbus-specification.xml: Discuss introspection annotations,
include list of well-known annotations.
* test/glib/test-service-glib.xml: Make validate against new DTD.
Diffstat (limited to 'doc/dbus-specification.xml')
-rw-r--r-- | doc/dbus-specification.xml | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/doc/dbus-specification.xml b/doc/dbus-specification.xml index 3d6a207f..ad21af62 100644 --- a/doc/dbus-specification.xml +++ b/doc/dbus-specification.xml @@ -2296,6 +2296,7 @@ <method name="Frobate"> <arg name="foo" type="int32" direction="in"/> <arg name="bar" type="string" direction="out"/> + <annotation name="org.freedesktop.DBus.Deprecated" value="true"/> </method> <signal name="Changed"> <arg name="new_value" type="boolean"/> @@ -2367,23 +2368,41 @@ </listitem> <listitem> <para> - The method, interface, property, and signal elements may have - an attribute deprecated="yes|no". If the attribute is not - present, the default value for an interface is "no", and - the default value for methods, properties, and signals is - the deprecation status of the interface. - </para> - </listitem> - <listitem> - <para> The "name" attribute on arguments is optional. </para> </listitem> </itemizedlist> </para> - + <para> + Method, interface, property, and signal elements may have + "annotations", which are generic key/value pairs of metadata. + They are similar conceptually to Java's annotations and C# attributes. + Well-known annotations: + </para> + <informaltable> + <tgroup cols="3"> + <thead> + <row> + <entry>Name</entry> + <entry>Values (separated by ,)</entry> + <entry>Description</entry> + </row> + </thead> + <tbody> + <row> + <entry>org.freedesktop.DBus.Deprecated</entry> + <entry>true,false</entry> + <entry>Whether or not the entity is deprecated; defaults to false</entry> + </row> + <row> + <entry>org.freedesktop.DBus.GLib.CSymbol</entry> + <entry>(string)</entry> + <entry>The C symbol; may be used for methods and interfaces</entry> + </row> + </tbody> + </tgroup> + </informaltable> </sect1> - <sect1 id="message-bus"> <title>Message Bus Specification</title> <sect2 id="message-bus-overview"> |