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

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

    <interface name="org.freedesktop.NetworkManagerSettings.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.
          </tp:docstring>
          <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_exported_connection_update"/>
          <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
          <arg name="properties" type="a{sa{sv}}" direction="in">
            <tp:docstring>
              New connection properties.
            </tp:docstring>
          </arg>
        </method>

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

        <method name="GetSettings">
            <tp:docstring>
                Get the settings maps describing this object.
            </tp:docstring>
            <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_exported_connection_get_settings"/>
            <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>

        <signal name="Updated">
            <tp:docstring>
                Emitted when some settings changed.
            </tp:docstring>
            <arg name="settings" type="a{sa{sv}}" tp:type="String_String_Variant_Map_Map">
                <tp:docstring>
                    Contains complete connection setting parameters, including changes.
                </tp:docstring>
            </arg>
        </signal>

        <signal name="Removed">
            <tp:docstring>
                Emitted when this connection has been deleted/removed.  After receipt of this signal, the object no longer exists.
            </tp:docstring>
        </signal>

    </interface>

    <interface name="org.freedesktop.NetworkManagerSettings.Connection.Secrets">
        <tp:docstring>
            Secrets have a separate interface so that they can be locked down.
        </tp:docstring>

        <method name="GetSecrets">
            <tp:docstring>
                Get the secrets encapsulated in this object.
            </tp:docstring>
            <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_exported_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.
                </tp:docstring>
            </arg>
            <arg name="hints" type="as" direction="in">
                <tp:docstring>
                    Array of strings of key names in the Setting for which NM thinks
                    a secrets may be required.
                </tp:docstring>
            </arg>
            <arg name="request_new" type="b" direction="in">
                <tp:docstring>
                    Indicates whether new secrets should be requested or if the request can be fulfilled from storage.
                </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.  Each setting MUST contain at least the 'name' field, containing the name of the setting, and one or more secrets.
                </tp:docstring>
            </arg>
        </method>

    </interface>

</node>
