<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node name="/org/ayatana/indicator/sound">
  <interface name="org.ayatana.indicator.sound">
    <method name = "GetSinkMute">
        <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="sound_service_dbus_get_sink_mute"/>
        <arg type='b' name='mute_input' direction="out"/>
    </method>

    <method name = "GetSinkAvailability">
        <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="sound_service_dbus_get_sink_availability"/>
        <arg type='b' name='availability_input' direction="out"/>
    </method>

<!-- Will need to hook up another signal which monitors for volume change 
Our respective UI element should listen to this and therefore will be updated with accurate setting-->
<!-- Triggered when a sink is muted but the input has been sent to that sink -->
    <signal name="SinkInputWhileMuted">
      <arg name="block_value" type="b" direction="out"/>
    </signal>
    
    <signal name="SinkMuteUpdate">
      <arg name="mute_value" type="b" direction="out"/>
    </signal>

    <signal name="SinkAvailableUpdate">
      <arg name="available_value" type="b" direction="out"/>
    </signal>

  </interface>
</node>