<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
  <interface name="org.gnome.Sysprof3.Profiler">
    <!--
      Capabilities:

      The "Capabilities" property contains an a{sv} of capabilities
      the profiler supports. This is implementation specific and allows
      for peers to configure the profiler when calling Start() based on
      what the profiler supports.

      The contents of Capabilities are implementation specific.
    -->
    <property name="Capabilities" type="a{sv}" access="read"/>
    <!--
      Start:
      @options: an a{sv} of implementation specific options
      @fd: a file-descriptor for the profiler to write to

      Start the profiler if it is not running.

      If the profiler is already running, this method should return
      an error so that the caller knows not to call Stop().

      It is also suggested that implementations disable profiling if
      they lose the peer connection.

      The contents of @options are implementation specific.
    -->
    <method name="Start">
      <annotation name="org.gtk.GDBus.C.UnixFD" value="true"/>
      <arg type="a{sv}" name="options" direction="in"/>
      <arg type="h" name="fd" direction="in"/>
    </method>
    <!--
      Stop:

      Stop the profiler if it is running.
    -->
    <method name="Stop"/>
  </interface>
</node>
