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

  <!--
      org.freedesktop.NetworkManager.Connection.Active:
      @short_description: Active Connection.

      Objects that implement the Connection.Active interface represent an
      attempt to connect to a network using the details provided by a Connection
      object. The Connection.Active object tracks the life-cycle of the
      connection attempt and if successful indicates whether the connected
      network is the "default" or preferred network for access. NetworkManager
      has the concept of connections, which can be thought of as settings, a
      profile or a configuration that can be applied on a networking device.
      Such settings-connections are exposed as D-Bus object and the
      active-connection expresses this relationship between device and
      settings-connection. At any time a settings-connection can only be
      activated on one device and vice versa. However, during activation and
      deactivation multiple active-connections can reference the same device or
      settings-connection as they are waiting to be activated or to be
      deactivated.
  -->
  <interface name="org.freedesktop.NetworkManager.Connection.Active">
    <annotation name="org.gtk.GDBus.C.Name" value="ActiveConnection"/>

    <!--
        Connection:

        The path of the connection.
    -->
    <property name="Connection" type="o" access="read"/>

    <!--
        SpecificObject:

        A specific object associated with the active connection. This property
        reflects the specific object used during connection activation, and will
        not change over the lifetime of the ActiveConnection once set.
    -->
    <property name="SpecificObject" type="o" access="read"/>

    <!--
        Id:

        The ID of the connection, provided as a convenience so that clients do not
        have to retrieve all connection details.
    -->
    <property name="Id" type="s" access="read"/>

    <!--
        Uuid:

        The UUID of the connection, provided as a convenience so that clients do
        not have to retrieve all connection details.
    -->
    <property name="Uuid" type="s" access="read"/>

    <!--
        Type:

        The type of the connection, provided as a convenience so that clients do
        not have to retrieve all connection details.
    -->
    <property name="Type" type="s" access="read"/>

    <!--
        Devices:

        Array of object paths representing devices which are part of this active
        connection.
    -->
    <property name="Devices" type="ao" access="read"/>

    <!--
        State:

        The state of this active connection.

        Returns: <link linkend="NMActiveConnectionState">NMActiveConnectionState</link>
    -->
    <property name="State" type="u" access="read"/>

    <!--
        StateFlags:

        The state flags of this active connection.

        Returns: <link linkend="NMActivationStateFlags">NMActivationStateFlags</link>
    -->
    <property name="StateFlags" type="u" access="read"/>

    <!--
        StateChanged:
        @state: (<link linkend="NMActiveConnectionState">NMActiveConnectionState</link>) The new state of the active connection.
        @reason: (<link linkend="NMActiveConnectionStateReason">NMActiveConnectionStateReason</link>) Reason code describing the change to the new state.
        @since: 1.8

        Emitted when the state of the active connection has changed.

    -->
    <signal name="StateChanged">
      <arg name="state" type="u"/>
      <arg name="reason" type="u"/>
    </signal>

    <!--
        Default:

        Whether this active connection is the default IPv4 connection, i.e.
        whether it currently owns the default IPv4 route.
    -->
    <property name="Default" type="b" access="read"/>

    <!--
        Ip4Config:

        Object path of the Ip4Config object describing the configuration of the
        connection. Only valid when the connection is in the
        NM_ACTIVE_CONNECTION_STATE_ACTIVATED state.
    -->
    <property name="Ip4Config" type="o" access="read"/>

    <!--
        Dhcp4Config:

        Object path of the Dhcp4Config object describing the DHCP options returned
        by the DHCP server (assuming the connection used DHCP). Only valid when
        the connection is in the NM_ACTIVE_CONNECTION_STATE_ACTIVATED state.
    -->
    <property name="Dhcp4Config" type="o" access="read"/>

    <!--
        Default6:

        Whether this active connection is the default IPv6 connection, i.e.
        whether it currently owns the default IPv6 route.
    -->
    <property name="Default6" type="b" access="read"/>

    <!--
        Ip6Config:

        Object path of the Ip6Config object describing the configuration of the
        connection. Only valid when the connection is in the
        NM_ACTIVE_CONNECTION_STATE_ACTIVATED state.
    -->
    <property name="Ip6Config" type="o" access="read"/>

    <!--
        Dhcp6Config:

        Object path of the Dhcp6Config object describing the DHCP options returned
        by the DHCP server (assuming the connection used DHCP). Only valid when
        the connection is in the NM_ACTIVE_CONNECTION_STATE_ACTIVATED state.
    -->
    <property name="Dhcp6Config" type="o" access="read"/>

    <!--
        Vpn:

        Whether this active connection is also a VPN connection.
    -->
    <property name="Vpn" type="b" access="read"/>

    <!--
        Controller:
        @Since: 1.44

        The path to the controller device if the connection is a port. This
        property replaces the deprecated 'Master' property.
    -->
    <property name="Controller" type="o" access="read"/>

    <!--
        Master:

        The path to the controller device if the connection is a port.

        DEPRECATED. This property is deprecated in favor of the 'Controller'
        property since 1.44.
    -->
    <property name="Master" type="o" access="read"/>

  </interface>
</node>
