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

<node name="/org/freedesktop/NetworkManager/Settings" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <interface name="org.freedesktop.NetworkManager.Settings">
    <tp:docstring>
      The Settings interface allows clients to view and administrate the connections stored and used by NetworkManager.
    </tp:docstring>

    <method name="ListConnections">
      <tp:docstring>
        List the connections stored by this Settings object.
      </tp:docstring>
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_list_connections"/>
      <arg name="connections" type="ao" direction="out">
        <tp:docstring>
          List of connections.
        </tp:docstring>
      </arg>
    </method>

    <method name="GetConnectionByUuid">
      <tp:docstring>
        Retrieve the object path of a connection, given that connection's UUID.
      </tp:docstring>
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_get_connection_by_uuid"/>
      <arg name="uuid" type="s" direction="in">
        <tp:docstring>
          The UUID to find the connection object path for.
        </tp:docstring>
      </arg>
      <arg name="connection" type="o" direction="out">
        <tp:docstring>
          The connection's object path.
        </tp:docstring>
      </arg>
    </method>

    <method name="AddConnection">
      <tp:docstring>
        Add new connection.
      </tp:docstring>
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_add_connection"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
      <arg name="connection" type="a{sa{sv}}" direction="in">
        <tp:docstring>
          Connection settings and properties.
        </tp:docstring>
      </arg>
      <arg name="path" type="o" direction="out">
        <tp:docstring>
          Object path of the new connection that was just added.
        </tp:docstring>
      </arg>
    </method>

    <method name="SaveHostname">
      <tp:docstring>
        Save the hostname to persistent configuration.
      </tp:docstring>
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_save_hostname"/>
      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
      <arg name="hostname" type="s" direction="in">
        <tp:docstring>
          The hostname to save to persistent configuration.  If blank, the persistent hostname is cleared.
        </tp:docstring>
      </arg>
    </method>

    <property name="Hostname" type="s" access="read">
      <tp:docstring>
        The machine hostname stored in persistent configuration.
      </tp:docstring>
    </property>

    <property name="CanModify" type="b" access="read">
      <tp:docstring>
        If true, adding and modifying connections is supported.
      </tp:docstring>
    </property>

    <signal name="PropertiesChanged">
        <arg name="properties" type="a{sv}" tp:type="String_Variant_Map">
            <tp:docstring>
                A dictionary mapping property names to variant boxed values
            </tp:docstring>
        </arg>
    </signal>

    <signal name="NewConnection">
      <tp:docstring>
        Emitted when a new connection has been added.
      </tp:docstring>
      <arg name="connection" type="o">
        <tp:docstring>
          Object path of the new connection.
        </tp:docstring>
      </arg>
    </signal>

  </interface>
</node>

