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

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

    <interface name="org.freedesktop.NetworkManager.Settings.Connection">
        <tp:docstring>
            Represents a single network connection configuration.
        </tp:docstring>

        <method name="Update">
          <tp:docstring>
            Update the connection with new settings and properties, replacing
            all previous settings and properties.  Secrets may be part of the
            update request, and will be either stored in persistent storage or
            given to a Secret Agent for storage, depending on the request.
          </tp:docstring>
          <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_connection_update"/>
          <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
          <arg name="properties" type="a{sa{sv}}" direction="in">
            <tp:docstring>
              New connection settings, properties, and (optionally) secrets.
            </tp:docstring>
          </arg>
        </method>

        <method name="Delete">
          <tp:docstring>
            Delete the connection.
          </tp:docstring>
          <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_connection_delete"/>
          <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
        </method>

        <method name="GetSettings">
            <tp:docstring>
                Get the settings maps describing this network configuration.
                This will never include any secrets required for connection
                to the network, as those are often protected.  Secrets must
                be requested separately using the GetSecrets() call.
            </tp:docstring>
            <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_connection_get_settings"/>
            <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
            <arg name="settings" type="a{sa{sv}}" direction="out" tp:type="String_String_Variant_Map_Map">
                <tp:docstring>
                    The nested settings maps describing this object.
                </tp:docstring>
            </arg>
        </method>

        <method name="GetSecrets">
            <tp:docstring>
                Get the secrets belonging to this network configuration.  Only
                secrets from persistent storage or a Secret Agent running in
                the requestor's session will be returned.  The user will never
                be prompted for secrets as a result of this request.
            </tp:docstring>
            <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_connection_get_secrets"/>
            <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
            <arg name="setting_name" type="s" direction="in">
                <tp:docstring>
                    Name of the setting to return secrets for.  If empty, all
                    all secrets will be returned.
                </tp:docstring>
            </arg>

            <arg name="secrets" type="a{sa{sv}}" direction="out" tp:type="String_String_Variant_Map_Map">
                <tp:docstring>
                    Nested settings maps containing secrets.
                </tp:docstring>
            </arg>
        </method>

        <signal name="Updated">
            <tp:docstring>
                Emitted when any settings or permissions change.  When handling
                this signal, clients should re-read the connection using the
                GetSettings method to get the changes and to ensure the client
                still has permission to access the connection.
            </tp:docstring>
        </signal>

        <signal name="Removed">
            <tp:docstring>
                Emitted when this connection is no longer available.  This
                happens when the connection is deleted or if it is no longer
                accessable by any of the system's logged-in users.  After
                receipt of this signal, the object no longer exists.
            </tp:docstring>
        </signal>

    </interface>

</node>
