summaryrefslogtreecommitdiff
path: root/introspection
diff options
context:
space:
mode:
Diffstat (limited to 'introspection')
-rw-r--r--introspection/Makefile.am7
-rw-r--r--introspection/Makefile.in28
-rw-r--r--introspection/all.xml.in2
-rw-r--r--introspection/nm-active-connection.xml73
-rw-r--r--introspection/nm-agent-manager.xml18
-rw-r--r--introspection/nm-device-generic.xml27
-rw-r--r--introspection/nm-device-gre.xml81
-rw-r--r--introspection/nm-device-macvlan.xml33
-rw-r--r--introspection/nm-device-team.xml34
-rw-r--r--introspection/nm-device-tun.xml55
-rw-r--r--introspection/nm-device-veth.xml21
-rw-r--r--introspection/nm-device-vxlan.xml122
-rw-r--r--introspection/nm-device-wifi.xml28
-rw-r--r--introspection/nm-device-wimax.xml7
-rw-r--r--introspection/nm-device.xml52
-rw-r--r--introspection/nm-ip4-config.xml32
-rw-r--r--introspection/nm-ip6-config.xml18
-rw-r--r--introspection/nm-manager.xml40
-rw-r--r--introspection/nm-secret-agent.xml63
-rw-r--r--introspection/nm-settings-connection.xml63
-rw-r--r--introspection/nm-settings.xml99
-rw-r--r--introspection/nm-vpn-plugin.xml76
-rw-r--r--introspection/vpn-errors.xml46
23 files changed, 974 insertions, 51 deletions
diff --git a/introspection/Makefile.am b/introspection/Makefile.am
index 3850a2346..030155791 100644
--- a/introspection/Makefile.am
+++ b/introspection/Makefile.am
@@ -13,8 +13,15 @@ EXTRA_DIST = \
nm-device-wimax.xml \
nm-device-infiniband.xml \
nm-device-bond.xml \
+ nm-device-team.xml \
nm-device-bridge.xml \
nm-device-vlan.xml \
+ nm-device-generic.xml \
+ nm-device-veth.xml \
+ nm-device-tun.xml \
+ nm-device-macvlan.xml \
+ nm-device-vxlan.xml \
+ nm-device-gre.xml \
nm-device.xml \
nm-ip4-config.xml \
nm-ip6-config.xml \
diff --git a/introspection/Makefile.in b/introspection/Makefile.in
index f5c1f23ab..9e6cc901b 100644
--- a/introspection/Makefile.in
+++ b/introspection/Makefile.in
@@ -81,7 +81,8 @@ subdir = introspection
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(srcdir)/all.xml.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/compiler_warnings.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_lib_readline.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
$(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/gnome-code-coverage.m4 \
$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
@@ -145,12 +146,15 @@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DBUS_CFLAGS = @DBUS_CFLAGS@
+DBUS_GLIB_100_CFLAGS = @DBUS_GLIB_100_CFLAGS@
+DBUS_GLIB_100_LIBS = @DBUS_GLIB_100_LIBS@
DBUS_LIBS = @DBUS_LIBS@
DBUS_SYS_DIR = @DBUS_SYS_DIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DHCLIENT_PATH = @DHCLIENT_PATH@
DHCPCD_PATH = @DHCPCD_PATH@
+DISTRO_NETWORK_SERVICE = @DISTRO_NETWORK_SERVICE@
DLLTOOL = @DLLTOOL@
DNSMASQ_PATH = @DNSMASQ_PATH@
DSYMUTIL = @DSYMUTIL@
@@ -175,7 +179,6 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@
GNUTLS_LIBS = @GNUTLS_LIBS@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
@@ -220,12 +223,16 @@ LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBM = @LIBM@
+LIBNDP_CFLAGS = @LIBNDP_CFLAGS@
+LIBNDP_LIBS = @LIBNDP_LIBS@
LIBNL_CFLAGS = @LIBNL_CFLAGS@
LIBNL_LIBS = @LIBNL_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@
LIBSOUP_LIBS = @LIBSOUP_LIBS@
+LIBTEAMDCTL_CFLAGS = @LIBTEAMDCTL_CFLAGS@
+LIBTEAMDCTL_LIBS = @LIBTEAMDCTL_LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -242,6 +249,8 @@ MOC = @MOC@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
+NEWT_CFLAGS = @NEWT_CFLAGS@
+NEWT_LIBS = @NEWT_LIBS@
NM = @NM@
NMEDIT = @NMEDIT@
NM_MAJOR_VERSION = @NM_MAJOR_VERSION@
@@ -269,11 +278,16 @@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
POLKIT_CFLAGS = @POLKIT_CFLAGS@
POLKIT_LIBS = @POLKIT_LIBS@
POSUB = @POSUB@
+PPPD_PATH = @PPPD_PATH@
PPPD_PLUGIN_DIR = @PPPD_PLUGIN_DIR@
+PPPOE_PATH = @PPPOE_PATH@
QT_CFLAGS = @QT_CFLAGS@
QT_LIBS = @QT_LIBS@
RANLIB = @RANLIB@
+READLINE_LIBS = @READLINE_LIBS@
SED = @SED@
+SELINUX_CFLAGS = @SELINUX_CFLAGS@
+SELINUX_LIBS = @SELINUX_LIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
@@ -288,6 +302,7 @@ UDEV_BASE_DIR = @UDEV_BASE_DIR@
USE_NLS = @USE_NLS@
UUID_CFLAGS = @UUID_CFLAGS@
UUID_LIBS = @UUID_LIBS@
+VALGRIND_RULES = @VALGRIND_RULES@
VAPIGEN = @VAPIGEN@
VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
@@ -350,6 +365,7 @@ psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
+subdirs = @subdirs@
sysconfdir = @sysconfdir@
systemdsystemunitdir = @systemdsystemunitdir@
target_alias = @target_alias@
@@ -360,6 +376,7 @@ with_dhclient = @with_dhclient@
with_dhcpcd = @with_dhcpcd@
with_netconfig = @with_netconfig@
with_resolvconf = @with_resolvconf@
+with_valgrind = @with_valgrind@
EXTRA_DIST = \
all.xml.in \
generic-types.xml \
@@ -375,8 +392,15 @@ EXTRA_DIST = \
nm-device-wimax.xml \
nm-device-infiniband.xml \
nm-device-bond.xml \
+ nm-device-team.xml \
nm-device-bridge.xml \
nm-device-vlan.xml \
+ nm-device-generic.xml \
+ nm-device-veth.xml \
+ nm-device-tun.xml \
+ nm-device-macvlan.xml \
+ nm-device-vxlan.xml \
+ nm-device-gre.xml \
nm-device.xml \
nm-ip4-config.xml \
nm-ip6-config.xml \
diff --git a/introspection/all.xml.in b/introspection/all.xml.in
index a8cea6134..29cccdb52 100644
--- a/introspection/all.xml.in
+++ b/introspection/all.xml.in
@@ -37,6 +37,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</
<xi:include href="nm-device-infiniband.xml"/>
<xi:include href="nm-device-bond.xml"/>
<xi:include href="nm-device-bridge.xml"/>
+<xi:include href="nm-device-team.xml"/>
+<xi:include href="nm-device-generic.xml"/>
<xi:include href="nm-device-vlan.xml"/>
<xi:include href="nm-device-adsl.xml"/>
<xi:include href="nm-wimax-nsp.xml"/>
diff --git a/introspection/nm-active-connection.xml b/introspection/nm-active-connection.xml
index b6a3c48d1..cbecdfcef 100644
--- a/introspection/nm-active-connection.xml
+++ b/introspection/nm-active-connection.xml
@@ -11,7 +11,9 @@
</tp:docstring>
<property name="Connection" type="o" access="read">
- <tp:docstring>The path of the connection.</tp:docstring>
+ <tp:docstring>
+ The path of the connection.
+ </tp:docstring>
</property>
<property name="SpecificObject" type="o" access="read">
<tp:docstring>
@@ -20,29 +22,86 @@
not change over the lifetime of the ActiveConnection once set.
</tp:docstring>
</property>
+ <property name="Id" type="s" access="read">
+ <tp:docstring>
+ The ID of the connection, provided as a convenience so that clients
+ do not have to retrieve all connection details.
+ </tp:docstring>
+ </property>
<property name="Uuid" type="s" access="read">
<tp:docstring>
The UUID of the connection, provided as a convenience so that clients
do not have to retrieve all connection details.
</tp:docstring>
</property>
+ <property name="Type" type="s" access="read">
+ <tp:docstring>
+ The type of the connection, provided as a convenience so that clients
+ do not have to retrieve all connection details.
+ </tp:docstring>
+ </property>
<property name="Devices" type="ao" access="read">
- <tp:docstring>Array of object paths representing devices which are part of this active connection.</tp:docstring>
+ <tp:docstring>
+ Array of object paths representing devices which are part of this active
+ connection.
+ </tp:docstring>
</property>
<property name="State" type="u" access="read" tp:type="NM_ACTIVE_CONNECTION_STATE">
- <tp:docstring>The state of this active connection.</tp:docstring>
+ <tp:docstring>
+ The state of this active connection.
+ </tp:docstring>
</property>
<property name="Default" type="b" access="read">
- <tp:docstring>Whether this active connection is the default IPv4 connection, i.e. whether it currently owns the default IPv4 route.</tp:docstring>
+ <tp:docstring>
+ Whether this active connection is the default IPv4 connection, i.e.
+ whether it currently owns the default IPv4 route.
+ </tp:docstring>
+ </property>
+ <property name="Ip4Config" type="o" access="read">
+ <tp:docstring>
+ 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.
+ </tp:docstring>
+ </property>
+ <property name="Dhcp4Config" type="o" access="read">
+ <tp:docstring>
+ 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.
+ </tp:docstring>
</property>
<property name="Default6" type="b" access="read">
- <tp:docstring>Whether this active connection is the default IPv6 connection, i.e. whether it currently owns the default IPv6 route.</tp:docstring>
+ <tp:docstring>
+ Whether this active connection is the default IPv6 connection, i.e.
+ whether it currently owns the default IPv6 route.
+ </tp:docstring>
+ </property>
+ <property name="Ip6Config" type="o" access="read">
+ <tp:docstring>
+ 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.
+ </tp:docstring>
+ </property>
+ <property name="Dhcp6Config" type="o" access="read">
+ <tp:docstring>
+ 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.
+ </tp:docstring>
</property>
<property name="Vpn" type="b" access="read">
- <tp:docstring>Whether this active connection is also a VPN connection.</tp:docstring>
+ <tp:docstring>
+ Whether this active connection is also a VPN connection.
+ </tp:docstring>
</property>
<property name="Master" type="o" access="read">
- <tp:docstring>The path to the master device if the connection is a slave.</tp:docstring>
+ <tp:docstring>
+ The path to the master device if the connection is a slave.
+ </tp:docstring>
</property>
<signal name="PropertiesChanged">
diff --git a/introspection/nm-agent-manager.xml b/introspection/nm-agent-manager.xml
index e26caacf4..d10744286 100644
--- a/introspection/nm-agent-manager.xml
+++ b/introspection/nm-agent-manager.xml
@@ -23,6 +23,24 @@
</arg>
</method>
+ <method name="RegisterWithCapabilities">
+ <tp:docstring>
+ Like Register() but indicates agent capabilities to NetworkManager.
+ </tp:docstring>
+ <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_agent_manager_register_with_capabilities"/>
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="identifier" type="s" direction="in">
+ <tp:docstring>
+ See the Register() method's identifier argument.
+ </tp:docstring>
+ </arg>
+ <arg name="capabilities" type="u" direction="in" tp:type="NM_SECRET_AGENT_CAPABILITIES">
+ <tp:docstring>
+ Indicates various agent capabilities to NetworkManager.
+ </tp:docstring>
+ </arg>
+ </method>
+
<method name="Unregister">
<tp:docstring>
Called by secret Agents to notify NetworkManager that they will no
diff --git a/introspection/nm-device-generic.xml b/introspection/nm-device-generic.xml
new file mode 100644
index 000000000..79d198996
--- /dev/null
+++ b/introspection/nm-device-generic.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+ <interface name="org.freedesktop.NetworkManager.Device.Generic">
+
+ <property name="HwAddress" type="s" access="read">
+ <tp:docstring>
+ Hardware address of the device.
+ </tp:docstring>
+ </property>
+
+ <property name="TypeDescription" type="s" access="read">
+ <tp:docstring>
+ A (non-localized) description of the interface type, if known.
+ </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>
+
+ </interface>
+</node>
diff --git a/introspection/nm-device-gre.xml b/introspection/nm-device-gre.xml
new file mode 100644
index 000000000..ae418aab5
--- /dev/null
+++ b/introspection/nm-device-gre.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+ <interface name="org.freedesktop.NetworkManager.Device.Gre">
+
+ <property name="Parent" type="o" access="read">
+ <tp:docstring>
+ The object path of the parent device.
+ </tp:docstring>
+ </property>
+
+ <property name="InputFlags" type="q" access="read">
+ <tp:docstring>
+ The expected set of GRE flags for incoming packets. (The
+ values are specified by the GRE specification. On Linux, they
+ are defined in &lt;linux/if_tunnel.h&gt;. Eg, GRE_KEY for the
+ 'Key Present' bit.)
+ </tp:docstring>
+ </property>
+
+ <property name="OutputFlags" type="q" access="read">
+ <tp:docstring>
+ The set of GRE flags to use for outgoing packets. (The
+ values are specified by the GRE specification. On Linux, they
+ are defined in &lt;linux/if_tunnel.h&gt;. Eg, GRE_KEY for the
+ 'Key Present' bit.)
+ </tp:docstring>
+ </property>
+
+ <property name="InputKey" type="u" access="read">
+ <tp:docstring>
+ Expected input key (if the "Key Present" bit is set in the input flags).
+ </tp:docstring>
+ </property>
+
+ <property name="OutputKey" type="u" access="read">
+ <tp:docstring>
+ Output key (if the "Key Present" bit is set in the output flags).
+ </tp:docstring>
+ </property>
+
+ <property name="Local" type="s" access="read">
+ <tp:docstring>
+ The local end of the tunnel.
+ </tp:docstring>
+ </property>
+
+ <property name="Remote" type="s" access="read">
+ <tp:docstring>
+ The remote end of the tunnel.
+ </tp:docstring>
+ </property>
+
+ <property name="Ttl" type="y" access="read">
+ <tp:docstring>
+ The value to use in the IP TTL field for tunnel packets.
+ </tp:docstring>
+ </property>
+
+ <property name="Tos" type="y" access="read">
+ <tp:docstring>
+ The value to use in the IP ToS field for tunnel packets.
+ </tp:docstring>
+ </property>
+
+ <property name="PathMtuDiscovery" type="b" access="read">
+ <tp:docstring>
+ Whether path MTU discovery is performed.
+ </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>
+
+ </interface>
+</node>
diff --git a/introspection/nm-device-macvlan.xml b/introspection/nm-device-macvlan.xml
new file mode 100644
index 000000000..a387bf564
--- /dev/null
+++ b/introspection/nm-device-macvlan.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+ <interface name="org.freedesktop.NetworkManager.Device.Macvlan">
+
+ <property name="Parent" type="o" access="read">
+ <tp:docstring>
+ The object path of the parent device.
+ </tp:docstring>
+ </property>
+
+ <property name="Mode" type="s" access="read">
+ <tp:docstring>
+ The macvlan mode, one of "private", "vepa", "bridge", or "passthru".
+ </tp:docstring>
+ </property>
+
+ <property name="NoPromisc" type="b" access="read">
+ <tp:docstring>
+ Whether the device is blocked from going into promiscuous mode.
+ </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>
+
+ </interface>
+</node>
diff --git a/introspection/nm-device-team.xml b/introspection/nm-device-team.xml
new file mode 100644
index 000000000..baf39fa86
--- /dev/null
+++ b/introspection/nm-device-team.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+ <interface name="org.freedesktop.NetworkManager.Device.Team">
+
+ <property name="HwAddress" type="s" access="read">
+ <tp:docstring>
+ Hardware address of the device.
+ </tp:docstring>
+ </property>
+
+ <property name="Carrier" type="b" access="read">
+ <tp:docstring>
+ Indicates whether the physical carrier is found (e.g. whether a cable is plugged in or not).
+ </tp:docstring>
+ </property>
+
+ <property name="Slaves" type="ao" access="read">
+ <tp:docstring>
+ Array of object paths representing devices which are currently
+ slaved to this device.
+ </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>
+
+ </interface>
+</node>
diff --git a/introspection/nm-device-tun.xml b/introspection/nm-device-tun.xml
new file mode 100644
index 000000000..8b0f81fbc
--- /dev/null
+++ b/introspection/nm-device-tun.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+ <interface name="org.freedesktop.NetworkManager.Device.Tun">
+
+ <property name="Owner" type="x" access="read">
+ <tp:docstring>
+ The uid of the tunnel owner, or -1 if it has no owner.
+ </tp:docstring>
+ </property>
+
+ <property name="Group" type="x" access="read">
+ <tp:docstring>
+ The gid of the tunnel group, or -1 if it has no owner.
+ </tp:docstring>
+ </property>
+
+ <property name="Mode" type="s" access="read">
+ <tp:docstring>
+ The tunnel mode, either "tun" or "tap".
+ </tp:docstring>
+ </property>
+
+ <property name="NoPi" type="b" access="read">
+ <tp:docstring>
+ The tunnel's "TUN_NO_PI" flag; true if no protocol info is
+ prepended to the tunnel packets.
+ </tp:docstring>
+ </property>
+
+ <property name="VnetHdr" type="b" access="read">
+ <tp:docstring>
+ The tunnel's "TUN_VNET_HDR" flag; true if the tunnel packets
+ include a virtio network header.
+ </tp:docstring>
+ </property>
+
+ <property name="MultiQueue" type="b" access="read">
+ <tp:docstring>
+ The tunnel's "TUN_TAP_MQ" flag; true if callers can connect to
+ the tap device multiple times, for multiple send/receive
+ queues.
+ </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>
+
+ </interface>
+</node>
diff --git a/introspection/nm-device-veth.xml b/introspection/nm-device-veth.xml
new file mode 100644
index 000000000..e06d0ceb7
--- /dev/null
+++ b/introspection/nm-device-veth.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+ <interface name="org.freedesktop.NetworkManager.Device.Veth">
+
+ <property name="Peer" type="o" access="read">
+ <tp:docstring>
+ The object path of the device's peer.
+ </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>
+
+ </interface>
+</node>
diff --git a/introspection/nm-device-vxlan.xml b/introspection/nm-device-vxlan.xml
new file mode 100644
index 000000000..053eea4d2
--- /dev/null
+++ b/introspection/nm-device-vxlan.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+ <interface name="org.freedesktop.NetworkManager.Device.Vxlan">
+
+ <property name="Parent" type="o" access="read">
+ <tp:docstring>
+ The object path of the parent device (if the VXLAN is not
+ purely internal to this host).
+ </tp:docstring>
+ </property>
+
+ <property name="Id" type="u" access="read">
+ <tp:docstring>
+ The VXLAN Network Identifier (VNI).
+ </tp:docstring>
+ </property>
+
+ <property name="Group" type="s" access="read">
+ <tp:docstring>
+ The IP (v4 or v6) multicast group used to communicate with other physical
+ hosts on this VXLAN.
+ </tp:docstring>
+ </property>
+
+ <property name="Local" type="s" access="read">
+ <tp:docstring>
+ The local IPv4 or IPv6 address to use when sending VXLAN packets to other
+ physical hosts.
+ </tp:docstring>
+ </property>
+
+ <property name="Tos" type="y" access="read">
+ <tp:docstring>
+ The value to use in the IP ToS field for VXLAN packets sent to
+ other physical hosts.
+ </tp:docstring>
+ </property>
+
+ <property name="Ttl" type="y" access="read">
+ <tp:docstring>
+ The value to use in the IP TTL field for VXLAN packets sent to
+ other physical hosts.
+ </tp:docstring>
+ </property>
+
+ <property name="Learning" type="b" access="read">
+ <tp:docstring>
+ True if the VXLAN dynamically learns remote IP addresses.
+ </tp:docstring>
+ </property>
+
+ <property name="Ageing" type="u" access="read">
+ <tp:docstring>
+ The interval at which the kernel purges stale cached addresses
+ (in kernel jiffies, ie, centiseconds).
+ </tp:docstring>
+ </property>
+
+ <property name="Limit" type="u" access="read">
+ <tp:docstring>
+ The maximum number of entries that can be added to the VXLAN's
+ forwarding table.
+ </tp:docstring>
+ </property>
+
+ <property name="DstPort" type="q" access="read">
+ <tp:docstring>
+ Destination port for outgoing VXLAN packets.
+ </tp:docstring>
+ </property>
+
+ <property name="SrcPortMin" type="q" access="read">
+ <tp:docstring>
+ The lowest source port number to use for outgoing VXLAN packets.
+ </tp:docstring>
+ </property>
+
+ <property name="SrcPortMax" type="q" access="read">
+ <tp:docstring>
+ The highest source port number to use for outgoing VXLAN packets.
+ </tp:docstring>
+ </property>
+
+ <property name="Proxy" type="b" access="read">
+ <tp:docstring>
+ True if the VXLAN is implementing DOVE ARP proxying for remote
+ clients.
+ </tp:docstring>
+ </property>
+
+ <property name="Rsc" type="b" access="read">
+ <tp:docstring>
+ True if the VXLAN is implementing DOVE route short-circuiting
+ of known remote IP addresses.
+ </tp:docstring>
+ </property>
+
+ <property name="L2miss" type="b" access="read">
+ <tp:docstring>
+ True if the VXLAN will emit netlink notifications of L2 switch
+ misses.
+ </tp:docstring>
+ </property>
+
+ <property name="L3miss" type="b" access="read">
+ <tp:docstring>
+ True if the VXLAN will emit netlink notifications of L3 switch
+ misses.
+ </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>
+
+ </interface>
+</node>
diff --git a/introspection/nm-device-wifi.xml b/introspection/nm-device-wifi.xml
index dcfa20ccb..65c7b71dc 100644
--- a/introspection/nm-device-wifi.xml
+++ b/introspection/nm-device-wifi.xml
@@ -6,11 +6,27 @@
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_device_get_access_points"/>
<arg name="access_points" type="ao" direction="out">
<tp:docstring>
- List of access point object paths
+ List of access point object paths.
</tp:docstring>
</arg>
<tp:docstring>
- Get the list of access points visible to this device.
+ DEPRECATED. Get the list of access points visible to this device. Note
+ that this list does not include access points which hide their SSID. To
+ retrieve a list of all access points (including hidden ones) use the
+ GetAllAccessPoints() method.
+ </tp:docstring>
+ </method>
+
+ <method name="GetAllAccessPoints">
+ <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_device_get_all_access_points"/>
+ <arg name="access_points" type="ao" direction="out">
+ <tp:docstring>
+ List of access point object paths.
+ </tp:docstring>
+ </arg>
+ <tp:docstring>
+ Get the list of all access points visible to this device, including
+ hidden ones for which the SSID is not yet known.
</tp:docstring>
</method>
@@ -50,11 +66,19 @@
The bit rate currently used by the wireless device, in kilobits/second (Kb/s).
</tp:docstring>
</property>
+
+ <property name="AccessPoints" type="ao" access="read">
+ <tp:docstring>
+ List of object paths of access point visible to this wireless device.
+ </tp:docstring>
+ </property>
+
<property name="ActiveAccessPoint" type="o" access="read">
<tp:docstring>
Object path of the access point currently used by the wireless device.
</tp:docstring>
</property>
+
<property name="WirelessCapabilities" type="u" access="read" tp:type="NM_802_11_DEVICE_CAP">
<tp:docstring>
The capabilities of the wireless device.
diff --git a/introspection/nm-device-wimax.xml b/introspection/nm-device-wimax.xml
index 6e414087f..b48ffe94e 100644
--- a/introspection/nm-device-wimax.xml
+++ b/introspection/nm-device-wimax.xml
@@ -14,6 +14,13 @@
</tp:docstring>
</method>
+ <property name="Nsps" type="ao" access="read">
+ <tp:docstring>
+ List of object paths of Network Service Providers (NSPs) visible to this
+ WiMAX device.
+ </tp:docstring>
+ </property>
+
<property name="HwAddress" type="s" access="read">
<tp:docstring>
Hardware address of the device.
diff --git a/introspection/nm-device.xml b/introspection/nm-device.xml
index b03b1b846..f459bce4f 100644
--- a/introspection/nm-device.xml
+++ b/introspection/nm-device.xml
@@ -51,9 +51,9 @@
Flags describing the capabilities of the device.
</tp:docstring>
</property>
- <property name="Ip4Address" type="i" access="read">
+ <property name="Ip4Address" type="u" access="read">
<tp:docstring>
- The IPv4 address bound to the device. FIXME: what about devices with >1 IP address?
+ DEPRECATED; use the 'Addresses' property of the 'Ip4Config' object instead.
</tp:docstring>
</property>
<property name="State" type="u" access="read" tp:type="NM_DEVICE_STATE">
@@ -125,6 +125,19 @@
An array of object paths of every configured connection that is currently 'available' through this device.
</tp:docstring>
</property>
+ <property name="PhysicalPortId" type="s" access="read">
+ <tp:docstring>
+ If non-empty, an (opaque) indicator of the physical network
+ port associated with the device. This can be used to recognize
+ when two seemingly-separate hardware devices are actually just
+ different virtual interfaces to the same physical port.
+ </tp:docstring>
+ </property>
+ <property name="Mtu" type="u" access="read">
+ <tp:docstring>
+ The device MTU (maximum transmission unit).
+ </tp:docstring>
+ </property>
<method name="Disconnect">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_device_disconnect"/>
@@ -289,6 +302,16 @@
The device is a bridge interface.
</tp:docstring>
</tp:enumvalue>
+ <tp:enumvalue suffix="GENERIC" value="14">
+ <tp:docstring>
+ The device is a generic interface type unrecognized by NetworkManager.
+ </tp:docstring>
+ </tp:enumvalue>
+ <tp:enumvalue suffix="TEAM" value="15">
+ <tp:docstring>
+ The device is a team master interface.
+ </tp:docstring>
+ </tp:enumvalue>
</tp:enum>
<tp:flags name="NM_DEVICE_CAP" value-prefix="NM_DEVICE_CAP" type="u">
@@ -579,6 +602,31 @@
A secondary connection of the base connection failed.
</tp:docstring>
</tp:enumvalue>
+ <tp:enumvalue suffix="DCB_FCOE_FAILED" value="55">
+ <tp:docstring>
+ DCB or FCoE setup failed.
+ </tp:docstring>
+ </tp:enumvalue>
+ <tp:enumvalue suffix="TEAMD_CONTROL_FAILED" value="56">
+ <tp:docstring>
+ teamd control failed.
+ </tp:docstring>
+ </tp:enumvalue>
+ <tp:enumvalue suffix="MODEM_FAILED" value="57">
+ <tp:docstring>
+ Modem failed or no longer available.
+ </tp:docstring>
+ </tp:enumvalue>
+ <tp:enumvalue suffix="MODEM_AVAILABLE" value="58">
+ <tp:docstring>
+ Modem now ready and available.
+ </tp:docstring>
+ </tp:enumvalue>
+ <tp:enumvalue suffix="SIM_PIN_INCORRECT" value="59">
+ <tp:docstring>
+ The SIM PIN was incorrect.
+ </tp:docstring>
+ </tp:enumvalue>
</tp:enum>
<tp:struct name="NM_DEVICE_STATE_REASON_STRUCT">
diff --git a/introspection/nm-ip4-config.xml b/introspection/nm-ip4-config.xml
index 70d3e1ce4..6a8750b7f 100644
--- a/introspection/nm-ip4-config.xml
+++ b/introspection/nm-ip4-config.xml
@@ -2,21 +2,15 @@
<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.freedesktop.NetworkManager.IP4Config">
+ <property name="Gateway" type="s" access="read">
+ <tp:docstring>The gateway in use.</tp:docstring>
+ </property>
<property name="Addresses" type="aau" access="read">
<tp:docstring>Array of tuples of IPv4 address/prefix/gateway. All 3
elements of each tuple are in network byte order. Essentially:
[(addr, prefix, gateway), (addr, prefix, gateway), ...]
</tp:docstring>
</property>
- <property name="Nameservers" type="au" access="read">
- <tp:docstring>The nameservers in use.</tp:docstring>
- </property>
- <property name="WinsServers" type="au" access="read">
- <tp:docstring>The Windows Internet Name Service servers associated with the connection. Each address is in network byte order.</tp:docstring>
- </property>
- <property name="Domains" type="as" access="read">
- <tp:docstring>A list of domains this address belongs to.</tp:docstring>
- </property>
<property name="Routes" type="aau" access="read">
<tp:docstring>Tuples of IPv4 route/prefix/next-hop/metric. All 4 elements
of each tuple are in network byte order. 'route' and 'next hop' are IPv4
@@ -24,6 +18,26 @@
[(route, prefix, next-hop, metric), (route, prefix, next-hop, metric), ...]
</tp:docstring>
</property>
+ <property name="Nameservers" type="au" access="read">
+ <tp:docstring>The nameservers in use.</tp:docstring>
+ </property>
+ <property name="Domains" type="as" access="read">
+ <tp:docstring>A list of domains this address belongs to.</tp:docstring>
+ </property>
+ <property name="Searches" type="as" access="read">
+ <tp:docstring>A list of dns searches.</tp:docstring>
+ </property>
+ <property name="WinsServers" type="au" access="read">
+ <tp:docstring>The Windows Internet Name Service servers associated with the connection. Each address is in network byte order.</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>
</interface>
</node>
diff --git a/introspection/nm-ip6-config.xml b/introspection/nm-ip6-config.xml
index 604781857..55c519e70 100644
--- a/introspection/nm-ip6-config.xml
+++ b/introspection/nm-ip6-config.xml
@@ -2,18 +2,32 @@
<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.freedesktop.NetworkManager.IP6Config">
+ <property name="Gateway" type="s" access="read">
+ <tp:docstring>The gateway in use.</tp:docstring>
+ </property>
<property name="Addresses" type="a(ayuay)" access="read">
<tp:docstring>Tuples of IPv6 address/prefix/gateway.</tp:docstring>
</property>
+ <property name="Routes" type="a(ayuayu)" access="read">
+ <tp:docstring>Tuples of IPv6 route/prefix/next-hop/metric.</tp:docstring>
+ </property>
<property name="Nameservers" type="aay" access="read">
<tp:docstring>The nameservers in use.</tp:docstring>
</property>
<property name="Domains" type="as" access="read">
<tp:docstring>A list of domains this address belongs to.</tp:docstring>
</property>
- <property name="Routes" type="a(ayuayu)" access="read">
- <tp:docstring>Tuples of IPv6 route/prefix/next-hop/metric.</tp:docstring>
+ <property name="Searches" type="as" access="read">
+ <tp:docstring>A list of dns searches.</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>
</interface>
</node>
diff --git a/introspection/nm-manager.xml b/introspection/nm-manager.xml
index a0e277328..6af2be303 100644
--- a/introspection/nm-manager.xml
+++ b/introspection/nm-manager.xml
@@ -41,12 +41,17 @@
</tp:docstring>
<arg name="connection" type="o" direction="in">
<tp:docstring>
- The connection to activate the devices with.
+ The connection to activate. If "/" is given, a valid device path must
+ be given, and NetworkManager picks the best connection to activate for
+ the given device. VPN connections must always pass a valid connection
+ path.
</tp:docstring>
</arg>
<arg name="device" type="o" direction="in">
<tp:docstring>
- The object path of device to be activated for physical connections. This parameter is ignored for VPN connections, because the specific_object (if provided) specifies the device to use.
+ The object path of device to be activated for physical connections.
+ This parameter is ignored for VPN connections, because the
+ specific_object (if provided) specifies the device to use.
</tp:docstring>
</arg>
<arg name="specific_object" type="o" direction="in">
@@ -55,7 +60,7 @@
This parameter is currently ignored for wired and mobile broadband connections,
and the value of "/" should be used (ie, no specific object). For WiFi
connections, pass the object path of a specific AP from the card's scan
- list, or "/" to pick and AP automatically. For VPN connections, pass
+ list, or "/" to pick an AP automatically. For VPN connections, pass
the object path of an ActiveConnection object that should serve as the
"base" connection (to which the VPN connections lifetime will be tied),
or pass "/" and NM will automatically use the current default device.
@@ -204,6 +209,7 @@
<method name="SetLogging">
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_set_logging"/>
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<tp:docstring>
Set logging verbosity and which operations are logged.
</tp:docstring>
@@ -216,13 +222,17 @@
<tp:docstring>
A combination of logging domains separated by commas (','), or "NONE"
to disable logging. Each domain enables logging for operations
- related to that domain. Available domains are: [HW, RFKILL, ETHER,
+ related to that domain. Available domains are: [PLATFORM, RFKILL, ETHER,
WIFI, BT, MB, DHCP4, DHCP6, PPP, WIFI_SCAN, IP4, IP6, AUTOIP4, DNS,
VPN, SHARING, SUPPLICANT, AGENTS, SETTINGS, SUSPEND, CORE, DEVICE,
- OLPC, WIMAX, INFINIBAND, FIREWALL, ADSL, BOND, VLAN]. In addition to
- these domains, the following special domains can be used: [NONE, ALL,
- DEFAULT, DHCP, IP]. If an empty string is given, the log level is
- changed but the current set of log domains remains unchanged.
+ OLPC, WIMAX, INFINIBAND, FIREWALL, ADSL, BOND, VLAN, BRIDGE, DBUS_PROPS,
+ TEAM, CONCHECK, DCB, DISPATCH].
+ In addition to these domains, the following special domains can be used:
+ [NONE, ALL, DEFAULT, DHCP, IP]. You can also specify that some domains
+ should log at a different level from the default by appending a colon (':')
+ and a log level (eg, 'WIFI:DEBUG'). If an empty string is given, the
+ log level is changed but the current set of log domains remains
+ unchanged.
</tp:docstring>
</arg>
</method>
@@ -266,6 +276,12 @@
<arg name="state" type="u" direction="out" tp:type="NM_STATE"/>
</method>
+ <property name="Devices" type="ao" access="read">
+ <tp:docstring>
+ The list of network devices/interfaces NetworkManager knows about.
+ </tp:docstring>
+ </property>
+
<property name="NetworkingEnabled" type="b" access="read">
<tp:docstring>
Indicates if overall networking is currently enabled or not. See the
@@ -334,6 +350,14 @@
</tp:docstring>
</property>
+ <property name="Startup" type="b" access="read">
+ <tp:docstring>
+ Indicates whether NM is still starting up; this becomes FALSE
+ when NM has finished attempting to activate every connection
+ that it might be able to activate at startup.
+ </tp:docstring>
+ </property>
+
<property name="Version" type="s" access="read">
<tp:docstring>
NetworkManager version.
diff --git a/introspection/nm-secret-agent.xml b/introspection/nm-secret-agent.xml
index 48dde703c..337d0a7fa 100644
--- a/introspection/nm-secret-agent.xml
+++ b/introspection/nm-secret-agent.xml
@@ -11,7 +11,8 @@
itself and should not expect its SaveSecrets() method to be called.
SaveSecrets() will be called eg if some program other than the
agent itself (like a connection editor) changes the secrets out of
- band.
+ band. The agent should implement this D-Bus interface on an object
+ with the path /org/freedesktop/NetworkManager/SecretAgent.
</tp:docstring>
<method name="GetSecrets">
@@ -21,7 +22,9 @@
and the user enters new secrets, the agent is expected to save
the new secrets to persistent storage (if the secret's flags
include AGENT_OWNED) as NetworkManager will not send these
- secrets back to the same agent via a SaveSecrets() call.
+ secrets back to the same agent via a SaveSecrets() call. If
+ the user canceled any interaction, the agent should return the
+ UserCanceled error (see below).
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_secret_agent_get_secrets"/>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
@@ -55,7 +58,10 @@
required, so in some cases no hints may be given. The Agent
should return any secrets it has, or that it thinks are
required, regardless of what hints NetworkManager sends
- in this request.
+ in this request. Some hints have special prefixes that
+ provide information to the agent; for example, VPN requests
+ may send server-specific messages prefixed with
+ "x-vpn-message:".
</tp:docstring>
</arg>
<arg name="flags" type="u" direction="in" tp:type="NM_SECRET_AGENT_GET_SECRETS_FLAGS">
@@ -75,6 +81,45 @@
the setting, and one or more secrets.
</tp:docstring>
</arg>
+
+ <tp:possible-errors>
+ <tp:error name="org.freedesktop.NetworkManager.SecretAgent.NotAuthorized">
+ <tp:docstring>
+ Should be returned when the process requesting secrets is
+ not authorized to do so (like if the caller is not root
+ or not NetworkManager).
+ </tp:docstring>
+ </tp:error>
+ <tp:error name="org.freedesktop.NetworkManager.SecretAgent.InvalidConnection">
+ <tp:docstring>
+ Should be returned if the 'connection' argument is invalid.
+ </tp:docstring>
+ </tp:error>
+ <tp:error name="org.freedesktop.NetworkManager.SecretAgent.UserCanceled">
+ <tp:docstring>
+ Should be returned when the user has canceled the request.
+ </tp:docstring>
+ </tp:error>
+ <tp:error name="org.freedesktop.NetworkManager.SecretAgent.AgentCanceled">
+ <tp:docstring>
+ Should be returned when NetworkManager has requested that
+ the agent cancel the request.
+ </tp:docstring>
+ </tp:error>
+ <tp:error name="org.freedesktop.NetworkManager.SecretAgent.InternalError">
+ <tp:docstring>
+ Should be returned if the agent has encountered some internal
+ error processing the request.
+ </tp:docstring>
+ </tp:error>
+ <tp:error name="org.freedesktop.NetworkManager.SecretAgent.NoSecrets">
+ <tp:docstring>
+ Should be returned if there are no available secrets, for
+ example if user interaction is not allowed and there are
+ no secrets stored by the agent for this connection.
+ </tp:docstring>
+ </tp:error>
+ </tp:possible-errors>
</method>
<tp:flags name="NM_SECRET_AGENT_GET_SECRETS_FLAGS" value-prefix="NM_SECRET_AGENT_GET_SECRETS_FLAG" type="u">
@@ -181,6 +226,18 @@
</arg>
</method>
+ <tp:flags name="NM_SECRET_AGENT_CAPABILITIES" value-prefix="NM_SECRET_AGENT_CAPABILITY" type="u">
+ <tp:flag suffix="NONE" value="0x0">
+ <tp:docstring>No special capabilities.</tp:docstring>
+ </tp:flag>
+ <tp:flag suffix="VPN_HINTS" value="0x1">
+ <tp:docstring>
+ The agent supports passing hints to VPN plugin authentication
+ dialogs.
+ </tp:docstring>
+ </tp:flag>
+ </tp:flags>
+
</interface>
</node>
diff --git a/introspection/nm-settings-connection.xml b/introspection/nm-settings-connection.xml
index 9089b009a..b5bd2cd0e 100644
--- a/introspection/nm-settings-connection.xml
+++ b/introspection/nm-settings-connection.xml
@@ -9,10 +9,11 @@
<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.
+ Update the connection with new settings and properties (replacing
+ all previous settings and properties) and save the connection to
+ disk. Secrets may be part of the update request, and will be either
+ stored in persistent storage or sent to a Secret Agent for storage,
+ depending on the flags associated with each secret.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_connection_update"/>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
@@ -23,6 +24,28 @@
</arg>
</method>
+ <method name="UpdateUnsaved">
+ <tp:docstring>
+ Update the connection with new settings and properties (replacing
+ all previous settings and properties) but do not immediately save
+ the connection to disk. Secrets may be part of the update request
+ and may sent to a Secret Agent for storage, depending on the
+ flags associated with each secret.
+
+ Use the 'Save' method to save these changes to disk. Note
+ that unsaved changes will be lost if the connection is
+ reloaded from disk (either automatically on file change or
+ due to an explicit ReloadConnections call).
+ </tp:docstring>
+ <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_connection_update_unsaved"/>
+ <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.
@@ -70,6 +93,15 @@
</arg>
</method>
+ <method name="Save">
+ <tp:docstring>
+ Saves a "dirty" connection (that had previously been
+ updated with UpdateUnsaved) to persistent storage.
+ </tp:docstring>
+ <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_connection_save"/>
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ </method>
+
<signal name="Updated">
<tp:docstring>
Emitted when any settings or permissions change. When handling
@@ -83,9 +115,28 @@
<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.
+ accessible by any of the system's logged-in users. After
+ receipt of this signal, the object no longer exists. Also
+ see the Settings.ConnectionRemoved signal.
+ </tp:docstring>
+ </signal>
+
+ <property name="Unsaved" type="b" access="read">
+ <tp:docstring>
+ If set, indicates that the in-memory state of the
+ connection does not match the on-disk state. This flag
+ will be set when UpdateUnsaved() is called or when any
+ connection details change, and cleared when the connection
+ is saved to disk via Save() or from internal operations.
</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>
</interface>
diff --git a/introspection/nm-settings.xml b/introspection/nm-settings.xml
index c79146684..3a71959cb 100644
--- a/introspection/nm-settings.xml
+++ b/introspection/nm-settings.xml
@@ -23,6 +23,7 @@
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"/>
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<arg name="uuid" type="s" direction="in">
<tp:docstring>
The UUID to find the connection object path for.
@@ -56,6 +57,83 @@
</arg>
</method>
+ <method name="AddConnectionUnsaved">
+ <tp:docstring>
+ Add new connection but do not save it to disk immediately. This
+ operation does not start the network connection unless (1) device is
+ idle and able to connect to the network described by the new connection,
+ and (2) the connection is allowed to be started automatically.
+
+ Use the 'Save' method on the connection to save these changes
+ to disk. Note that unsaved changes will be lost if the
+ connection is reloaded from disk (either automatically on file
+ change or due to an explicit ReloadConnections call).
+ </tp:docstring>
+ <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_add_connection_unsaved"/>
+ <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="LoadConnections">
+ <tp:docstring>
+ Loads or reloads the indicated connections from disk. You
+ should call this after making changes directly to an on-disk
+ connection file to make sure that NetworkManager sees the
+ changes. (If "monitor-connection-files" in NetworkManager.conf
+ is "true", then this will have no real effect, but is
+ harmless.) As with AddConnection(), this operation does not
+ necessarily start the network connection.
+ </tp:docstring>
+ <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_load_connections"/>
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="filenames" type="as" direction="in">
+ <tp:docstring>
+ Array of paths to on-disk connection profiles in directories
+ monitored by NetworkManager.
+ </tp:docstring>
+ </arg>
+ <arg name="status" type="b" direction="out">
+ <tp:docstring>
+ Success or failure of the operation as a whole. True if
+ NetworkManager at least tried to load the indicated
+ connections, even if it did not succeed. False if an error
+ occurred before trying to load the connections (eg,
+ permission denied).
+ </tp:docstring>
+ </arg>
+ <arg name="failures" type="as" direction="out">
+ <tp:docstring>
+ Paths of connection files that could not be loaded.
+ </tp:docstring>
+ </arg>
+ </method>
+
+ <method name="ReloadConnections">
+ <tp:docstring>
+ Tells NetworkManager to reload all connection files from disk,
+ including noticing any added or deleted connection files. By
+ default, connections are re-read automatically any time they
+ change, so you only need to use this command if you have set
+ "monitor-connection-files=false" in NetworkManager.conf.
+ </tp:docstring>
+ <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_reload_connections"/>
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="status" type="b" direction="out">
+ <tp:docstring>
+ Success or failure.
+ </tp:docstring>
+ </arg>
+ </method>
+
<method name="SaveHostname">
<tp:docstring>
Save the hostname to persistent configuration.
@@ -69,6 +147,12 @@
</arg>
</method>
+ <property name="Connections" type="ao" access="read">
+ <tp:docstring>
+ List of object paths of available network connection profiles.
+ </tp:docstring>
+ </property>
+
<property name="Hostname" type="s" access="read">
<tp:docstring>
The machine hostname stored in persistent configuration.
@@ -107,6 +191,21 @@
</arg>
</signal>
+ <signal name="ConnectionRemoved">
+ <tp:docstring>
+ Emitted when a connection is no longer available. This happens when
+ the connection is deleted or if it is no longer accessible by any of
+ the system's logged-in users. After receipt of this signal, the
+ connection no longer exists and cannot be used. Also see the
+ Settings.Connection.Removed signal.
+ </tp:docstring>
+ <arg name="connection" type="o">
+ <tp:docstring>
+ Object path of the removed connection.
+ </tp:docstring>
+ </arg>
+ </signal>
+
</interface>
</node>
diff --git a/introspection/nm-vpn-plugin.xml b/introspection/nm-vpn-plugin.xml
index 5fb11622a..07397c2b9 100644
--- a/introspection/nm-vpn-plugin.xml
+++ b/introspection/nm-vpn-plugin.xml
@@ -5,9 +5,11 @@
<tp:docstring>
This interface is provided by plugins providing VPN services to the NetworkManager daemon.
</tp:docstring>
+
<method name="Connect">
<tp:docstring>
- Tells the plugin to connect.
+ Tells the plugin to connect. Interactive secrets requests (eg, emitting
+ the SecretsRequired signal) are not allowed.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_connect"/>
<arg name="connection" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map">
@@ -21,6 +23,36 @@
<tp:error name="org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress"/>
<tp:error name="org.freedesktop.NetworkManager.VPN.Error.BadArguments"/>
<tp:error name="org.freedesktop.NetworkManager.VPN.Error.LaunchFailed"/>
+ <tp:error name="org.freedesktop.NetworkManager.VPN.Error.WrongState"/>
+ </tp:possible-errors>
+ </method>
+
+ <method name="ConnectInteractive">
+ <tp:docstring>
+ Tells the plugin to connect, allowing interactive secrets requests (eg
+ the plugin is allowed to emit the SecretsRequired signal if the VPN
+ service indicates that it needs additional secrets during the connect
+ process).
+ </tp:docstring>
+ <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_connect_interactive"/>
+ <arg name="connection" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map">
+ <tp:docstring>
+ Describes the connection to be established.
+ </tp:docstring>
+ </arg>
+ <arg name="details" type="a{sv}" direction="in" tp:type="String_Variant_Map">
+ <tp:docstring>
+ Additional details about the Connect process.
+ </tp:docstring>
+ </arg>
+ <tp:possible-errors>
+ <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StartingInProgress"/>
+ <tp:error name="org.freedesktop.NetworkManager.VPN.Error.AlreadyStarted"/>
+ <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress"/>
+ <tp:error name="org.freedesktop.NetworkManager.VPN.Error.BadArguments"/>
+ <tp:error name="org.freedesktop.NetworkManager.VPN.Error.LaunchFailed"/>
+ <tp:error name="org.freedesktop.NetworkManager.VPN.Error.WrongState"/>
+ <tp:error name="org.freedesktop.NetworkManager.VPN.Error.InteractiveNotSupported"/>
</tp:possible-errors>
</method>
@@ -122,6 +154,48 @@
</arg>
</signal>
+ <signal name="SecretsRequired">
+ <tp:docstring>
+ Emitted during an ongoing ConnectInteractive() request when the plugin
+ has determined that new secrets are required. NetworkManager will then
+ call the NewSecrets() method with a connection hash including the new
+ secrets.
+ </tp:docstring>
+ <arg name="message" type="s" direction="out">
+ <tp:docstring>
+ Informational message, if any, about the request. For example, if
+ a second PIN is required, could indicate to the user to wait for
+ the token code to change until entering the next PIN.
+ </tp:docstring>
+ </arg>
+ <arg name="secrets" type="as" direction="out">
+ <tp:docstring>
+ Array of strings of VPN secret names which the plugin thinks
+ secrets may be required for, or other VPN-specific data to be
+ processed by the VPN's front-end.
+ </tp:docstring>
+ </arg>
+ </signal>
+
+ <method name="NewSecrets">
+ <tp:docstring>
+ Called in response to a SecretsRequired signal to deliver updated secrets
+ or other information to the plugin.
+ </tp:docstring>
+ <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_new_secrets"/>
+ <arg name="connection" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map">
+ <tp:docstring>
+ Describes the connection including the new secrets.
+ </tp:docstring>
+ </arg>
+ <tp:possible-errors>
+ <tp:error name="org.freedesktop.NetworkManager.VPN.Error.WrongState"/>
+ <tp:error name="org.freedesktop.NetworkManager.VPN.Error.BadArguments"/>
+ <tp:error name="org.freedesktop.NetworkManager.VPN.Error.LaunchFailed"/>
+ <tp:error name="org.freedesktop.NetworkManager.VPN.Error.InteractiveNotSupported"/>
+ </tp:possible-errors>
+ </method>
+
<signal name="Config">
<tp:docstring>
The plugin obtained generic configuration information.
diff --git a/introspection/vpn-errors.xml b/introspection/vpn-errors.xml
index 0dba7e6fb..7b92d0736 100644
--- a/introspection/vpn-errors.xml
+++ b/introspection/vpn-errors.xml
@@ -2,31 +2,59 @@
<tp:errors xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
namespace="org.freedesktop.NetworkManager.VPN.Error">
<tp:error name="General">
- <tp:docstring>This is a drab, nondescript error.</tp:docstring>
+ <tp:docstring>General failure without further details.</tp:docstring>
</tp:error>
<tp:error name="StartingInProgress">
- <tp:docstring>The request could not be processed because the VPN connection is already being started.</tp:docstring>
+ <tp:docstring>
+ The plugin is already starting, and another connect request was received.
+ </tp:docstring>
</tp:error>
<tp:error name="AlreadyStarted">
- <tp:docstring>The request could not be processed because a VPN connection was already active.</tp:docstring>
+ <tp:docstring>
+ The plugin is already connected, and another connect request was received.
+ </tp:docstring>
</tp:error>
<tp:error name="StoppingInProgress">
- <tp:docstring>The request could not be processed because the VPN connection is already being stopped.</tp:docstring>
+ <tp:docstring>
+ The plugin is already stopping, and another stop request was received.
+ </tp:docstring>
</tp:error>
<tp:error name="AlreadyStopped">
- <tp:docstring>The request could not be processed because the VPN connection was already stopped.</tp:docstring>
+ <tp:docstring>
+ The plugin is already stopped, and another disconnect request was received.
+ </tp:docstring>
</tp:error>
<tp:error name="WrongState">
- <tp:docstring>The request could not be processed because the VPN connection is in the wrong state for this type of request. FIXME: too general?</tp:docstring>
+ <tp:docstring>
+ The request could not be processed because the VPN plugin is in the wrong
+ state for this type of request.
+ </tp:docstring>
</tp:error>
<tp:error name="BadArguments">
- <tp:docstring>Invalid arguments were passed with the request. FIXME: too general.</tp:docstring>
+ <tp:docstring>
+ The request could not be processed because it contained malformed
+ arguments, or arguments of unexpected type. It usually means that one of
+ the VPN setting data items or secrets was not of the expected type (i.e.
+ int, string, bool, etc).
+ </tp:docstring>
</tp:error>
<tp:error name="LaunchFailed">
- <tp:docstring>A binary providing the service failed to launch.</tp:docstring>
+ <tp:docstring>
+ A binary providing the service failed to launch.
+ </tp:docstring>
</tp:error>
<tp:error name="ConnectionInvalid">
- <tp:docstring>The request could not be processed because the VPN connection settings were invalid.</tp:docstring>
+ <tp:docstring>
+ The request could not be processed because the connection was invalid. It
+ usually means that the connection's VPN setting was missing some required
+ data item or secret.
+ </tp:docstring>
+ </tp:error>
+ <tp:error name="InteractiveNotSupported">
+ <tp:docstring>
+ The request could not be processed because the plugin does not support
+ interactive operations, such as ConnectInteractive() or NewSecrets().
+ </tp:docstring>
</tp:error>
</tp:errors>