| <node> | |
| <!-- Fully Loaded Interface --> | |
| <interface name="org.project.Bar"> | |
| <annotation name="org.gtk.GDBus.DocString" value="The org.project.Bar interface is very complicated."/> | |
| <annotation name="org.gtk.GDBus.DocString.Short" value="Brief interface doc string"/> | |
| <method name="HelloWorld"> | |
| <annotation name="org.gtk.GDBus.DocString" value="Method <emphasis>documentation</emphasis> blablablabla."/> | |
| <annotation name="ExistingAnnotation" value="blah"/> | |
| <annotation name="org.gtk.GDBus.ExistingInternalAnnotation" value="booh"/> | |
| <arg name="greeting" direction="in" type="s"> | |
| <annotation name="org.gtk.GDBus.DocString" value="in param doc"/> | |
| </arg> | |
| <arg name="response" direction="out" type="s"> | |
| <annotation name="org.gtk.GDBus.DocString" value="out param doc"/> | |
| </arg> | |
| </method> | |
| <method name="TestPrimitiveTypes"> | |
| <arg direction="in" type="y" name="val_byte" /> | |
| <arg direction="in" type="b" name="val_boolean" /> | |
| <arg direction="in" type="n" name="val_int16" /> | |
| <arg direction="in" type="q" name="val_uint16" /> | |
| <arg direction="in" type="i" name="val_int32" /> | |
| <arg direction="in" type="u" name="val_uint32" /> | |
| <arg direction="in" type="x" name="val_int64" /> | |
| <arg direction="in" type="t" name="val_uint64" /> | |
| <arg direction="in" type="d" name="val_double" /> | |
| <arg direction="in" type="s" name="val_string" /> | |
| <arg direction="in" type="o" name="val_objpath" /> | |
| <arg direction="in" type="g" name="val_signature" /> | |
| <arg direction="in" type="ay" name="val_bytestring" /> | |
| <arg direction="out" type="y" name="ret_byte" /> | |
| <arg direction="out" type="b" name="ret_boolean" /> | |
| <arg direction="out" type="n" name="ret_int16" /> | |
| <arg direction="out" type="q" name="ret_uint16" /> | |
| <arg direction="out" type="i" name="ret_int32" /> | |
| <arg direction="out" type="u" name="ret_uint32" /> | |
| <arg direction="out" type="x" name="ret_int64" /> | |
| <arg direction="out" type="t" name="ret_uint64" /> | |
| <arg direction="out" type="d" name="ret_double" /> | |
| <arg direction="out" type="s" name="ret_string" /> | |
| <arg direction="out" type="o" name="ret_objpath" /> | |
| <arg direction="out" type="g" name="ret_signature" /> | |
| <arg direction="out" type="ay" name="ret_bytestring" /> | |
| </method> | |
| <method name="TestNonPrimitiveTypes"> | |
| <arg direction="in" type="a{ss}" name="dict_s_to_s" /> | |
| <arg direction="in" type="a{s(ii)}" name="dict_s_to_pairs" /> | |
| <arg direction="in" type="(iss)" name="a_struct" /> | |
| <arg direction="in" type="as" name="array_of_strings" /> | |
| <arg direction="out" type="as" name="ret_array_of_strings" /> | |
| <arg direction="in" type="ao" name="array_of_objpaths" /> | |
| <arg direction="out" type="ao" name="ret_array_of_objpaths" /> | |
| <arg direction="in" type="ag" name="array_of_signatures" /> | |
| <arg direction="out" type="ag" name="ret_array_of_signatures" /> | |
| <arg direction="in" type="aay" name="array_of_bytestrings" /> | |
| <arg direction="out" type="aay" name="ret_array_of_bytestrings" /> | |
| <arg direction="out" type="ay" name="result" /> | |
| </method> | |
| <method name="RequestSignalEmission"> | |
| <arg direction="in" type="i" name="which_one" /> | |
| </method> | |
| <method name="RequestMultiPropertyMods"/> | |
| <method name="UnimplementedMethod"/> | |
| <method name="PropertyCancellation"/> | |
| <signal name="TestSignal"> | |
| <annotation name="org.gtk.GDBus.DocString" value="Signal documentation."/> | |
| <arg type="i" name="val_int32"> | |
| <annotation name="org.gtk.GDBus.DocString" value="Signal param docs"/> | |
| </arg> | |
| <arg type="as" name="array_of_strings" /> | |
| <arg type="aay" name="array_of_bytestrings" /> | |
| <arg type="a{s(ii)}" name="dict_s_to_pairs" /> | |
| </signal> | |
| <signal name="AnotherSignal"> | |
| <arg type="s" name="word" /> | |
| </signal> | |
| <property name="y" type="y" access="readwrite"> | |
| <annotation name="org.gtk.GDBus.DocString" value="<para>Property docs, yah...</para><para>Second paragraph.</para>"/> | |
| </property> | |
| <property name="b" type="b" access="readwrite"/> | |
| <property name="n" type="n" access="readwrite"/> | |
| <property name="q" type="q" access="readwrite"/> | |
| <property name="i" type="i" access="readwrite"/> | |
| <property name="u" type="u" access="readwrite"/> | |
| <property name="x" type="x" access="readwrite"/> | |
| <property name="t" type="t" access="readwrite"/> | |
| <property name="d" type="d" access="readwrite"/> | |
| <property name="s" type="s" access="readwrite"/> | |
| <property name="o" type="o" access="readwrite"/> | |
| <property name="g" type="g" access="readwrite"/> | |
| <property name="ay" type="ay" access="readwrite"/> | |
| <property name="as" type="as" access="readwrite"/> | |
| <property name="aay" type="aay" access="readwrite"/> | |
| <property name="ao" type="ao" access="readwrite"/> | |
| <property name="ag" type="ag" access="readwrite"/> | |
| <property name="FinallyNormalName" type="s" access="readwrite"/> | |
| <property name="ReadonlyProperty" type="s" access="read"/> | |
| <property name="WriteonlyProperty" type="s" access="write"/> | |
| <property name="quiet" type="s" access="readwrite"> | |
| <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="false"/> | |
| </property> | |
| <property name="quiet_too" type="s" access="readwrite"> | |
| <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="const"/> | |
| </property> | |
| <!-- unset properties --> | |
| <property name="unset_i" type="i" access="readwrite"/> | |
| <property name="unset_d" type="d" access="readwrite"/> | |
| <property name="unset_s" type="s" access="readwrite"/> | |
| <property name="unset_o" type="o" access="readwrite"/> | |
| <property name="unset_g" type="g" access="readwrite"/> | |
| <property name="unset_ay" type="ay" access="readwrite"/> | |
| <property name="unset_as" type="as" access="readwrite"/> | |
| <property name="unset_ao" type="ao" access="readwrite"/> | |
| <property name="unset_ag" type="ag" access="readwrite"/> | |
| <property name="unset_struct" type="(idsogayasaoag)" access="readwrite"/> | |
| </interface> <!-- End org.project.Bar --> | |
| <!-- Namespaced --> | |
| <interface name="org.project.Bar.Frobnicator"> | |
| <method name="RandomMethod"/> | |
| </interface> | |
| <!-- Empty --> | |
| <interface name="org.project.Baz"> | |
| </interface> | |
| <!-- Outside D-Bus prefix --> | |
| <interface name="com.acme.Coyote"> | |
| <method name="Run"/> | |
| <method name="Sleep"/> | |
| <method name="Attack"/> | |
| <signal name="Surprised"/> | |
| <property name="Mood" type="s" access="read"/> | |
| </interface> | |
| <!-- force various names --> | |
| <interface name="com.acme.Rocket"> | |
| <!-- Forcing the typename via an annotation --> | |
| <annotation name="org.gtk.GDBus.C.Name" value="Rocket123"/> | |
| <!-- ditto method --> | |
| <method name="Ignite"> | |
| <annotation name="org.gtk.GDBus.C.Name" value="ignite_xyz"/> | |
| </method> | |
| <!-- ditto signal --> | |
| <signal name="Exploded"> | |
| <annotation name="org.gtk.GDBus.C.Name" value="exploded-xyz"/> | |
| </signal> | |
| <!-- ditto property --> | |
| <property name="Speed" type="d" access="read"> | |
| <annotation name="org.gtk.GDBus.C.Name" value="speed-xyz"/> | |
| </property> | |
| <property name="Direction" type="(ddd)" access="read"/> | |
| <!-- Check there's no conflict with the GType iface_name_get_type() function --> | |
| <property name="Type" type="s" access="read"/> | |
| </interface> | |
| <!-- Test interface for forcing use of GVariant --> | |
| <interface name="org.project.Bat"> | |
| <!-- Forcing GVariant for types that would be mapped --> | |
| <method name="ForceMethod"> | |
| <arg name="force_in_i" type="i" direction="in"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </arg> | |
| <arg name="force_in_s" type="s" direction="in"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </arg> | |
| <arg name="force_in_ay" type="ay" direction="in"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </arg> | |
| <arg name="force_in_struct" type="(i)" direction="in"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </arg> | |
| <arg name="force_out_i" type="i" direction="out"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </arg> | |
| <arg name="force_out_s" type="s" direction="out"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </arg> | |
| <arg name="force_out_ay" type="ay" direction="out"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </arg> | |
| <arg name="force_out_struct" type="(i)" direction="out"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </arg> | |
| </method> | |
| <signal name="ForceSignal"> | |
| <arg name="force_i" type="i"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </arg> | |
| <arg name="force_s" type="s"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </arg> | |
| <arg name="force_ay" type="ay"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </arg> | |
| <arg name="force_struct" type="(i)"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </arg> | |
| </signal> | |
| <property name="force_i" type="i" access="readwrite"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </property> | |
| <property name="force_s" type="s" access="readwrite"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </property> | |
| <property name="force_ay" type="ay" access="readwrite"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </property> | |
| <property name="force_struct" type="(i)" access="readwrite"> | |
| <annotation name="org.gtk.GDBus.C.ForceGVariant" value="true"/> | |
| </property> | |
| </interface> <!-- End org.project.Bat --> | |
| <!-- Test interface for g-authorized-method --> | |
| <interface name="org.project.Authorize"> | |
| <method name="CheckNotAuthorized"/> | |
| <method name="CheckAuthorized"/> | |
| <method name="CheckNotAuthorizedFromObject"/> | |
| </interface> <!-- End org.project.Authorize --> | |
| <!-- Test interfaces for handling methods in a thread --> | |
| <interface name="org.project.MethodThreads"> | |
| <method name="GetSelf"> | |
| <arg name="self_pointer" direction="out" type="s"/> | |
| </method> | |
| </interface> <!-- End org.project.MethodThreads --> | |
| <!-- | |
| org.project.InlineDocs: | |
| @short_description: The short description | |
| Here is the <emphasis>longer</emphasis> description. | |
| With lots of stuff. | |
| --> | |
| <interface name="org.project.InlineDocs"> | |
| <!-- | |
| FooMethod: | |
| @greeting: The docs for greeting parameter. | |
| @response: The docs for response parameter. | |
| The docs for the actual method. | |
| Multi-paragraph. | |
| Test of inline links: The #org.project.Bar D-Bus interface, | |
| org.project.Bar.HelloWorld() method, the | |
| #org.project.Bar::TestSignal, the | |
| #org.project.InlineDocs:Property3 property. | |
| --> | |
| <method name="FooMethod"> | |
| <arg name="greeting" direction="in" type="s"/> | |
| <arg name="response" direction="out" type="s"/> | |
| </method> | |
| <!-- Method2: foo --> | |
| <method name="Method2"> | |
| <arg name="greeting" direction="in" type="s"/> | |
| <arg name="response" direction="out" type="s"/> | |
| </method> | |
| <!-- | |
| BarSignal: | |
| @blah: The docs for blah parameter. | |
| @boo: The docs for boo parameter. | |
| The docs for the actual signal. | |
| --> | |
| <signal name="BarSignal"> | |
| <!-- Non-Doc comment --> | |
| <arg name="blah" type="s"/> | |
| <arg name="boo" type="s"/> | |
| </signal> | |
| <!-- BazProperty: The docs for the property. --> | |
| <property name="BazProperty" type="s" access="read"/> | |
| <!-- Property2: Another property | |
| This should be a new paragraph. | |
| --> | |
| <property name="Property2" type="s" access="read"/> | |
| <!-- Property3: | |
| First line. | |
| This should NOT be a new paragraph. | |
| --> | |
| <property name="Property3" type="s" access="read"/> | |
| <!-- Property4: | |
| First line. With trailing whitespace. | |
| Second line (same paragraph). | |
| --> | |
| <property name="Property4" type="s" access="read"/> | |
| <!-- Property5: Foo | |
| First line (second paragraph). With trailing whitespace. | |
| Second line (same paragraph). | |
| <programlisting> | |
| 1 program listing | |
| 2 should include indented space | |
| 3 | |
| 4 | |
| 5 | |
| </programlisting> | |
| --> | |
| <property name="Property5" type="s" access="read"/> | |
| <!-- | |
| FancyProperty: | |
| Here's some fancy use of XML inside the comment. | |
| <variablelist> | |
| <varlistentry> | |
| <term><option>namespace</option></term> | |
| <listitem> | |
| <para>The namespace to use for generated code. In CamelCase format.</para> | |
| </listitem> | |
| </varlistentry> | |
| <varlistentry> | |
| <term><option>output-prefix</option></term> | |
| <listitem> | |
| <para> | |
| A prefix to use for all generated files. Defaults to <filename>generated</filename>. | |
| </para> | |
| </listitem> | |
| </varlistentry> | |
| </variablelist> | |
| --> | |
| <property name="FancyProperty" type="s" access="read"/> | |
| </interface> | |
| <interface name="ChangingInterfaceV1"> | |
| <method name="FooMethod"/> | |
| <method name="BarMethod"/> | |
| <method name="BazMethod"/> | |
| <signal name="FooSignal"/> | |
| <signal name="BarSignal"/> | |
| <signal name="BazSignal"/> | |
| </interface> | |
| <!-- ChangingInterfaceV2: | |
| --> | |
| <interface name="ChangingInterfaceV2"> | |
| <!-- | |
| NewSignalIn2: | |
| @since: 2.0 | |
| --> | |
| <signal name="NewSignalIn2"/> | |
| <!-- | |
| NewMethodIn2: | |
| @since: 2.0 | |
| --> | |
| <method name="NewMethodIn2"/> | |
| <!-- reverse order --> | |
| <signal name="BazSignal"/> | |
| <signal name="BarSignal"/> | |
| <signal name="FooSignal"/> | |
| <method name="BazMethod"/> | |
| <method name="BarMethod"/> | |
| <method name="FooMethod"/> | |
| </interface> | |
| <!-- ChangingInterfaceV10: | |
| --> | |
| <interface name="ChangingInterfaceV10"> | |
| <!-- | |
| AddedSignalIn10: | |
| @since: 10.0 | |
| --> | |
| <signal name="AddedSignalIn10"/> | |
| <method name="AddedMethodIn10"> | |
| <annotation name="org.gtk.GDBus.Since" value="10.0"/> | |
| </method> | |
| <!-- | |
| NewSignalIn2: | |
| @since: 2.0 | |
| --> | |
| <signal name="NewSignalIn2"/> | |
| <!-- | |
| NewMethodIn2: | |
| @since: 2.0 | |
| --> | |
| <method name="NewMethodIn2"/> | |
| <!-- reverse order --> | |
| <signal name="BazSignal"/> | |
| <signal name="BarSignal"/> | |
| <signal name="FooSignal"/> | |
| <method name="BazMethod"/> | |
| <method name="BarMethod"/> | |
| <method name="FooMethod"/> | |
| </interface> | |
| <interface name="TestUglyCaseInterface"> | |
| <annotation name="org.gtk.GDBus.C.Name" value="TesT_ugly_CASE_Interface"/> | |
| <method name="GetiSCSIServers"> | |
| <annotation name="org.gtk.GDBus.C.Name" value="Get_iSCSI_Servers"/> | |
| </method> | |
| <signal name="serversUPDATEDNOW"> | |
| <annotation name="org.gtk.GDBus.C.Name" value="Servers_UPDATED_NOW"/> | |
| </signal> | |
| <property name="UGLYNAME" type="i" access="readwrite"> | |
| <annotation name="org.gtk.GDBus.C.Name" value="UGLY_NAME"/> | |
| </property> | |
| </interface> | |
| <!-- | |
| OldieInterface: | |
| @short_description: A an example of an deprecated interface | |
| This is an example of a deprecated interface. | |
| --> | |
| <interface name="OldieInterface"> | |
| <annotation name="org.freedesktop.DBus.Deprecated" value="true"/> | |
| <method name="Foo"> | |
| <annotation name="org.freedesktop.DBus.Deprecated" value="true"/> | |
| </method> | |
| <signal name="Bar"> | |
| <annotation name="org.freedesktop.DBus.Deprecated" value="true"/> | |
| </signal> | |
| <property name="Bat" type="i" access="readwrite"> | |
| <annotation name="org.freedesktop.DBus.Deprecated" value="true"/> | |
| </property> | |
| </interface> | |
| <!-- ensure we don't choke on unknown/unexpected XML tags or unknown/unexpected attribyutes (#650874) --> | |
| <interface name="UnknownXmlTags" unexpected="boo"> | |
| <someUnknownTag> | |
| <anotherTagWeIgnore>yadaydaydaydayda</anotherTagWeIgnore> | |
| </someUnknownTag> | |
| <method name="CanSetTimezone" also_unexpected="1"> | |
| <annotation name="org.freedesktop.DBus.GLib.Async" value="" also_unexpected="1"> | |
| <unknownTag/> | |
| </annotation> | |
| <arg name="value" direction="out" type="i" also_unexpected="1"> | |
| <unknownTag/> | |
| </arg> | |
| <unknownTag/> | |
| </method> | |
| <signal name="SomeSignal" also_unexpected="1"> | |
| <unknownTag/> | |
| </signal> | |
| <property name="SomeProperty" type="s" access="readwrite" also_unexpected="1"> | |
| <unknownTag/> | |
| </property> | |
| </interface> | |
| <unknownTag/> | |
| <interface name="test.FDPassing"> | |
| <method name="HelloFD"> | |
| <annotation name="org.gtk.GDBus.C.UnixFD" value="1"/> | |
| <arg name="greeting" direction="in" type="s"/> | |
| <arg name="response" direction="out" type="s"/> | |
| </method> | |
| <method name="NoAnnotation"> | |
| <arg name="greeting" direction="in" type="h"/> | |
| <arg name="greeting_locale" direction="in" type="s"/> | |
| <arg name="response" direction="out" type="h"/> | |
| <arg name="response_locale" direction="out" type="s"/> | |
| </method> | |
| <method name="NoAnnotationNested"> | |
| <arg name="files" type="a{sh}" direction="in"/> | |
| </method> | |
| </interface> | |
| <interface name="Naming"> | |
| <property name="Type" type="i" access="readwrite"/> | |
| </interface> | |
| </node> |