<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 &lt;emphasis&gt;documentation&lt;/emphasis&gt; 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="&lt;para&gt;Property docs, yah...&lt;/para&gt;&lt;para&gt;Second paragraph.&lt;/para&gt;"/>
    </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="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>
