<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="in" type="ao" name="array_of_objpaths" />
      <arg direction="in" type="ag" name="array_of_signatures" />
      <arg direction="in" type="aay" name="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"/>

    <!-- 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>
  </interface>

  <interface name="Naming">
    <property name="Type" type="i" access="readwrite"/>
  </interface>

</node>
