<?xml version="1.0" encoding="UTF-8" ?>

<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <interface name="org.freedesktop.nm_dispatcher">

    <method name="Action">
      <tp:docstring>
        INTERNAL; not public API.  Perform an action.
      </tp:docstring>

      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_dispatch"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>

      <arg name="action" type="s" direction="in">
        <tp:docstring>
          The action being performed.
        </tp:docstring>
      </arg>

      <arg name="connection" type="a{sa{sv}}" direction="in">
        <tp:docstring>
          The connection for which this action was triggered.
        </tp:docstring>
      </arg>

      <arg name="connection_properties" type="a{sv}" direction="in">
        <tp:docstring>
          Properties of the connection, including service and path.
        </tp:docstring>
      </arg>

      <arg name="device_properties" type="a{sv}" direction="in">
        <tp:docstring>
          Properties of the device, including type, path, interface, and state.
        </tp:docstring>
      </arg>

      <arg name="device_ip4_config" type="a{sv}" direction="in">
        <tp:docstring>
          Properties of the device's IPv4 configuration.
        </tp:docstring>
      </arg>

      <arg name="device_ip6_config" type="a{sv}" direction="in">
        <tp:docstring>
          Properties of the device's IPv6 configuration.
        </tp:docstring>
      </arg>

      <arg name="device_dhcp4_config" type="a{sv}" direction="in">
        <tp:docstring>
          Properties of the device's DHCPv4 configuration.
        </tp:docstring>
      </arg>

      <arg name="device_dhcp6_config" type="a{sv}" direction="in">
        <tp:docstring>
          Properties of the device's DHCPv6 configuration.
        </tp:docstring>
      </arg>

      <arg name="vpn_ip_iface" type="s" direction="in">
        <tp:docstring>VPN interface name.</tp:docstring>
      </arg>

      <arg name="vpn_ip4_config" type="a{sv}" direction="in">
        <tp:docstring>
          Properties of the VPN's IPv4 configuration.
        </tp:docstring>
      </arg>

      <arg name="vpn_ip6_config" type="a{sv}" direction="in">
        <tp:docstring>
          Properties of the VPN's IPv6 configuration.
        </tp:docstring>
      </arg>

      <arg name="results" type="a(sus)" direction="out">
        <tp:docstring>
          Results of dispatching operations.  Each element of the returned
          array is a struct containing the path of an executed script (s),
          the result of running that script (u), and a description of the
          result (s).
        </tp:docstring>
      </arg>

    </method>
  </interface>
</node>
