NetworkManager r3345 - in trunk: . docs introspection



Author: dcbw
Date: Thu Feb 28 02:07:21 2008
New Revision: 3345
URL: http://svn.gnome.org/viewvc/NetworkManager?rev=3345&view=rev

Log:
2008-02-27  Dan Williams  <dcbw redhat com>

	Patch from Will Stephenson <wstephenson kde org>

	* Makefile.am
	  configure.in
		- Set up spec autogeneration infrastructure

	* docs/NetworkManager DBUS API.txt
		- Note how old this doc is and where to look for the canonical
			D-Bus specification

	* introspection/*
		- Add annotations and comments



Added:
   trunk/introspection/all.xml
   trunk/introspection/errors.xml
   trunk/introspection/generic-types.xml
   trunk/introspection/vpn-errors.xml
Modified:
   trunk/ChangeLog
   trunk/Makefile.am
   trunk/configure.in
   trunk/docs/NetworkManager DBUS API.txt
   trunk/introspection/nm-access-point.xml
   trunk/introspection/nm-device-802-11-wireless.xml
   trunk/introspection/nm-device-802-3-ethernet.xml
   trunk/introspection/nm-device.xml
   trunk/introspection/nm-exported-connection.xml
   trunk/introspection/nm-ip4-config.xml
   trunk/introspection/nm-manager-client.xml
   trunk/introspection/nm-manager.xml
   trunk/introspection/nm-settings.xml
   trunk/introspection/nm-vpn-connection.xml
   trunk/introspection/nm-vpn-manager.xml
   trunk/introspection/nm-vpn-plugin.xml

Modified: trunk/Makefile.am
==============================================================================
--- trunk/Makefile.am	(original)
+++ trunk/Makefile.am	Thu Feb 28 02:07:21 2008
@@ -1,3 +1,26 @@
+if WITH_DOCS
+
+all:
+
+XSLTPROC = xsltproc --xinclude --nonet
+
+XMLS = $(wildcard introspection/nm-*.xml)
+# Figure out if we need ASYNC_INTROSPECT and add it later
+
+GENERATED_FILES = \
+	docs/spec.html
+
+docs/spec.html: $(XMLS) introspection/all.xml introspection/generic-types.xml introspection/errors.xml introspection/vpn-errors.xml tools/doc-generator.xsl introspection/generic-types.xml
+	@install -d docs
+	$(XSLTPROC) tools/doc-generator.xsl introspection/all.xml > $@
+
+all: $(GENERATED_FILES)
+
+clean:
+	rm -f $(GENERATED_FILES)
+
+endif
+
 SUBDIRS = 				\
 	   libnm-util			\
 	   libnm-glib			\

Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in	(original)
+++ trunk/configure.in	Thu Feb 28 02:07:21 2008
@@ -53,6 +53,18 @@
 AM_GLIB_GNU_GETTEXT
 
 dnl
+dnl GNOME support
+dnl
+AC_ARG_WITH(docs, AC_HELP_STRING([--with-docs], [Build NetworkManager documentation]))
+AM_CONDITIONAL(WITH_DOCS, test "x$with_docs" = "xyes")
+case $with_docs in
+	yes) ;;
+	*)
+		with_docs=no
+		;;
+esac
+
+dnl
 dnl Make sha1.c happy on big endian systems
 dnl
 AC_C_BIGENDIAN
@@ -313,3 +325,8 @@
 echo
 echo Distribution targeting: ${with_distro}
 echo 'if this is not correct, please specifiy your distro with --with-distro=DISTRO'
+
+echo
+echo Building documentation: ${with_docs}
+echo
+

Modified: trunk/docs/NetworkManager DBUS API.txt
==============================================================================
--- trunk/docs/NetworkManager DBUS API.txt	(original)
+++ trunk/docs/NetworkManager DBUS API.txt	Thu Feb 28 02:07:21 2008
@@ -1,3 +1,9 @@
+********* NOTE *********
+This document is for historical reference only.  The autogenerated 'spec.html' is the canonical D-Bus reference.
+********* NOTE *********
+
+
+
 NetworkManager DBUS API (unstable)
 ----------------------------------
 

Added: trunk/introspection/all.xml
==============================================================================
--- (empty file)
+++ trunk/introspection/all.xml	Thu Feb 28 02:07:21 2008
@@ -0,0 +1,52 @@
+<tp:spec
+  xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0";
+  xmlns:xi="http://www.w3.org/2001/XInclude";>
+
+<tp:title>NetworkManager D-Bus Interface Specification</tp:title>
+<tp:version>0.7.0</tp:version>
+
+
+<tp:copyright>Copyright (C) 2008 Red Hat, Inc.</tp:copyright>
+<tp:copyright>Copyright (C) 2008 Novell, Inc.</tp:copyright>
+
+<tp:license xmlns="http://www.w3.org/1999/xhtml";>
+<p>This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.</p>
+
+<p>This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.</p>
+
+<p>You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</p>
+</tp:license>
+
+<xi:include href="nm-manager.xml"/>
+<xi:include href="nm-access-point.xml"/>
+<xi:include href="nm-device.xml"/>
+<xi:include href="nm-device-802-3-ethernet.xml"/>
+<xi:include href="nm-device-802-11-wireless.xml"/>
+<xi:include href="nm-ip4-config.xml"/>
+<xi:include href="nm-settings.xml"/>
+<xi:include href="nm-exported-connection.xml"/>
+<xi:include href="nm-vpn-manager.xml"/>
+<xi:include href="nm-vpn-connection.xml"/>
+<xi:include href="nm-vpn-plugin.xml"/>
+
+<xi:include href="errors.xml"/>
+<xi:include href="vpn-errors.xml"/>
+<xi:include href="generic-types.xml"/>
+
+<!--
+<xi:include href="extensions.xml">
+	<xi:fallback>
+		<!- - absence of non-spec extensions is OK - ->
+	</xi:fallback>
+</xi:include>
+-->
+
+</tp:spec>

Added: trunk/introspection/errors.xml
==============================================================================
--- (empty file)
+++ trunk/introspection/errors.xml	Thu Feb 28 02:07:21 2008
@@ -0,0 +1,36 @@
+<?xml version="1.0" ?>
+<tp:errors xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0";
+    namespace="org.freedesktop.NetworkManager.Error">
+  <tp:copyright>Copyright (C) 2008 Novell, Inc.</tp:copyright>
+
+  <tp:error name="Unknown Connection">
+    <tp:docstring>
+        Connection was not provided by any known settings service.
+    </tp:docstring>
+  </tp:error>
+
+  <tp:error name="Unknown Device">
+    <tp:docstring>
+        Unknown device.
+    </tp:docstring>
+  </tp:error>
+
+  <tp:error name="Invalid Service">
+    <tp:docstring>
+        Invalid settings service (not a recognized system or user settings service name).
+    </tp:docstring>
+  </tp:error>
+
+  <tp:error name="System Connection">
+    <tp:docstring>
+        Connection was superseded by a system connection.
+    </tp:docstring>
+  </tp:error>
+
+  <tp:error name="Permission Denied">
+    <tp:docstring>
+    User does not have the permission to activate this connection.
+    </tp:docstring>
+  </tp:error>
+
+</tp:errors>

Added: trunk/introspection/generic-types.xml
==============================================================================
--- (empty file)
+++ trunk/introspection/generic-types.xml	Thu Feb 28 02:07:21 2008
@@ -0,0 +1,47 @@
+<tp:generic-types
+  xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0";>
+  <tp:mapping name="String_Variant_Map">
+    <tp:docstring>A mapping from strings to variants representing extra
+      key-value pairs.</tp:docstring>
+    <tp:member type="s" name="Key"/>
+    <tp:member type="v" name="Value"/>
+  </tp:mapping>
+
+  <tp:mapping name="String_String_Map">
+    <tp:docstring>A mapping from strings to strings representing extra
+      key-value pairs.</tp:docstring>
+    <tp:member type="s" name="Key"/>
+    <tp:member type="s" name="Value"/>
+  </tp:mapping>
+
+  <tp:mapping name="String_String_Variant_Map_Map">
+      <tp:docstring>A mapping from strings to a map of string to variant.</tp:docstring>
+      <tp:member type="s" name="Key"/>
+      <tp:member type="a{sv}" name="Value" tp:type="String_Variant_Map"/>
+  </tp:mapping>
+
+  <tp:enum name="IW_MODE" type="i">
+    <tp:docstring></tp:docstring>
+    <tp:enumvalue suffix="AUTO" value="0">
+      <tp:docstring>Automatic mode controlled by the driver.</tp:docstring>
+    </tp:enumvalue>
+    <tp:enumvalue suffix="ADHOC" value="1">
+      <tp:docstring>Single cell network.</tp:docstring>
+    </tp:enumvalue>
+    <tp:enumvalue suffix="INFRA" value="2">
+      <tp:docstring>Multi cell network, roaming.</tp:docstring>
+    </tp:enumvalue>
+    <tp:enumvalue suffix="MASTER" value="3">
+      <tp:docstring>Synchronisation master or Access Point.</tp:docstring>
+    </tp:enumvalue>
+    <tp:enumvalue suffix="REPEAT" value="4">
+      <tp:docstring>Wireless Repeater (forwarder).</tp:docstring>
+    </tp:enumvalue>
+    <tp:enumvalue suffix="SECOND" value="5">
+      <tp:docstring>Secondary master/repeater (backup).</tp:docstring>
+    </tp:enumvalue>
+    <tp:enumvalue suffix="MONITOR" value="6">
+      <tp:docstring>Passive monitor (listen only).</tp:docstring>
+    </tp:enumvalue>
+  </tp:enum>
+</tp:generic-types>

Modified: trunk/introspection/nm-access-point.xml
==============================================================================
--- trunk/introspection/nm-access-point.xml	(original)
+++ trunk/introspection/nm-access-point.xml	Thu Feb 28 02:07:21 2008
@@ -1,20 +1,92 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<node name="/">
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0";>
   <interface name="org.freedesktop.NetworkManager.AccessPoint">
-    <property name="Flags" type="u" access="read"/>
-    <property name="WpaFlags" type="u" access="read"/>
-    <property name="RsnFlags" type="u" access="read"/>
-    <property name="Ssid" type="ay" access="read"/>
-    <property name="Frequency" type="u" access="read"/>
-    <property name="HwAddress" type="s" access="read"/>
-    <property name="Mode" type="i" access="read"/>
-    <property name="Rate" type="u" access="read"/>
-    <property name="Strength" type="y" access="read"/>
+    <property name="Flags" type="u" access="read" tp:type="NM_802_11_AP_FLAGS">
+      <tp:docstring>Flags describing the capabilities of the access point.</tp:docstring>
+    </property>
+    <property name="WpaFlags" type="u" access="read" tp:type="NM_802_11_AP_SEC">
+      <tp:docstring>Flags describing the access point's capabilities according to WPA (Wifi Protected Access).</tp:docstring>
+    </property>
+    <property name="RsnFlags" type="u" access="read" tp:type="NM_802_11_AP_SEC">
+      <tp:docstring>Flags describing the access point's capabilities according to the RSN (Robust Secure Network) protocol.</tp:docstring>
+    </property>
+    <property name="Ssid" type="ay" access="read">
+      <tp:docstring>The Service Set Identifier identifying the access point.</tp:docstring>
+    </property>
+    <property name="Frequency" type="u" access="read">
+      <tp:docstring>The radio channel frequency in use by the access point.</tp:docstring>
+    </property>
+    <property name="HwAddress" type="s" access="read">
+      <tp:docstring>The hardware address of the access point.</tp:docstring>
+    </property>
+
+    <property name="Mode" type="i" access="read" tp:type="IW_MODE">
+      <tp:docstring>Describes the operating mode of the access point.</tp:docstring>
+    </property>
+    <property name="Rate" type="u" access="read">
+      <tp:docstring>The bit rate currently achievable to this access point.</tp:docstring>
+    </property>
+    <property name="Strength" type="y" access="read">
+      <tp:docstring>The current signal strength received from this access point.</tp:docstring>
+    </property>
 
     <signal name="PropertiesChanged">
-      <arg name="properties" type="a{sv}"/>
+        <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>
+    <tp:flags name="NM_802_11_AP_FLAGS" value-prefix="NM_802_11_AP_FLAGS" type="u">
+      <tp:docstring>
+        Flags describing the general capabilities of the access point.
+      </tp:docstring>
+      <tp:flag suffix="NONE" value="0x0">
+        <tp:docstring>Null capability - says nothing about the access point.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="PRIVACY" value="0x1">
+        <tp:docstring>Access point supports privacy measures.</tp:docstring>
+      </tp:flag>
+    </tp:flags>
+    <tp:flags name="NM_802_11_AP_SEC" value-prefix="NM_802_11_AP_SEC" type="u">
+      <tp:docstring>
+        Flags describing the security capabilities of the access point.
+      </tp:docstring>
+      <tp:flag suffix="NONE" value="0x0">
+        <tp:docstring>Null flag.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="PAIR_WEP40" value="0x1">
+        <tp:docstring>Access point supports pairwise 40-bit WEP encryption.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="PAIR_WEP104" value="0x2">
+        <tp:docstring>Access point supports pairwise 104-bit WEP encryption.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="PAIR_TKIP" value="0x4">
+        <tp:docstring>Access point supports pairwise TKIP encryption.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="PAIR_CCMP" value="0x8">
+        <tp:docstring>Access point supports pairwise CCMP encryption.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="GROUP_WEP40" value="0x10">
+        <tp:docstring>Access point supports a group 40-bit WEP cypher.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="GROUP_WEP104" value="0x20">
+        <tp:docstring>Access point supports a group 104-bit WEP cypher.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="GROUP_TKIP" value="0x40">
+        <tp:docstring>Access point supports a group TKIP cypher.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="GROUP_CCMP" value="0x80">
+        <tp:docstring>Access point supports a group CCMP cypher.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="KEY_MGMT_PSK" value="0x100">
+        <tp:docstring>Access point supports PSK key management.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="KEY_MGMT_802_1X" value="0x200">
+        <tp:docstring>Access point supports 802.1x key management.</tp:docstring>
+      </tp:flag>
+    </tp:flags>
   </interface>
 </node>
 

Modified: trunk/introspection/nm-device-802-11-wireless.xml
==============================================================================
--- trunk/introspection/nm-device-802-11-wireless.xml	(original)
+++ trunk/introspection/nm-device-802-11-wireless.xml	Thu Feb 28 02:07:21 2008
@@ -1,29 +1,104 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<node name="/">
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0";>
   <interface name="org.freedesktop.NetworkManager.Device.Wireless">
     <method name="GetAccessPoints">
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_device_get_access_points"/>
-      <arg name="access_points" type="ao" direction="out"/>
+      <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 access points visible to this device.
+      </tp:docstring>
     </method>
 
-    <property name="HwAddress" type="s" access="read"/>
-    <property name="Mode" type="i" access="read"/>
-    <property name="Bitrate" type="u" access="read"/>
-    <property name="ActiveAccessPoint" type="o" access="read"/>
-    <property name="WirelessCapabilities" type="u" access="read"/>
+    <property name="HwAddress" type="s" access="read">
+      <tp:docstring>
+        The hardware address of the device.
+      </tp:docstring>
+    </property>
+    <property name="Mode" type="i" access="read" tp:type="IW_MODE">
+      <tp:docstring>
+        The operating mode of the wireless device.
+      </tp:docstring>
+    </property>
+
+    <property name="Bitrate" type="u" access="read">
+      <tp:docstring>
+        The bit rate currently used by the wireless device. FIXME: Why is this not called Rate like for AP?
+      </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.
+      </tp:docstring>
+    </property>
 
     <signal name="PropertiesChanged">
-      <arg name="properties" type="a{sv}"/>
+        <arg name="properties" type="a{sv}" tp:type="String_Variant_Map">
+            <tp:docstring>
+                A dictionary containing the FIXME: check changed parameters.
+            </tp:docstring>
+        </arg>
+        <tp:docstring>
+            Emitted when the wireless device's properties changed.
+        </tp:docstring>
     </signal>
 
     <signal name="AccessPointAdded">
-      <arg name="access_point" type="o"/>
+        <arg name="access_point" type="o">
+            <tp:docstring>
+                The object path of the newly found access point.
+            </tp:docstring>
+        </arg>
+        <tp:docstring>
+            Emitted when a new access point is found by the device.
+        </tp:docstring>
     </signal>
 
     <signal name="AccessPointRemoved">
-      <arg name="access_point" type="o"/>
+      <arg name="access_point" type="o">
+            <tp:docstring>
+                The object path of the access point that has disappeared.
+            </tp:docstring>
+        </arg>
+        <tp:docstring>
+            Emitted when an access point disappears from view of the device.
+        </tp:docstring>
     </signal>
 
+    <tp:flags name="NM_802_11_DEVICE_CAP" type="u">
+      <tp:docstring>
+        Flags describing the capabilities of a wireless device.
+      </tp:docstring>
+      <tp:flag suffix="NONE" value="0x0">
+        <tp:docstring>Null capability - syntactic sugar for no capabilities supported.  Do not AND this with other capabilities!</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="CIPHER_WEP40" value="0x1">
+        <tp:docstring>The device supports the 40-bit WEP cypher.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="CIPHER_WEP104" value="0x2">
+        <tp:docstring>The device supports the 104-bit WEP cypher.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="CIPHER_TKIP" value="0x4">
+        <tp:docstring>The device supports the TKIP cypher.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="CIPHER_CCMP" value="0x8">
+        <tp:docstring>The device supports the CCMP cypher.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="WPA" value="0x10">
+        <tp:docstring>The device supports the WPA encryption/authentication protocol.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="RSN" value="0x20">
+        <tp:docstring>The device supports the RSN encryption/authentication protocol.</tp:docstring>
+      </tp:flag>
+    </tp:flags>
   </interface>
 </node>

Modified: trunk/introspection/nm-device-802-3-ethernet.xml
==============================================================================
--- trunk/introspection/nm-device-802-3-ethernet.xml	(original)
+++ trunk/introspection/nm-device-802-3-ethernet.xml	Thu Feb 28 02:07:21 2008
@@ -1,8 +1,16 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<node name="/">
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0";>
   <interface name="org.freedesktop.NetworkManager.Device.Wired">
-    <property name="HwAddress" type="s" access="read"/>
-    <property name="Speed" type="u" access="read"/>
+    <property name="HwAddress" type="s" access="read">
+      <tp:docstring>
+        Hardware address of the device.
+      </tp:docstring>
+    </property>
+    <property name="Speed" type="u" access="read">
+      <tp:docstring>
+        Design speed of the device.
+      </tp:docstring>
+    </property>
   </interface>
 </node>

Modified: trunk/introspection/nm-device.xml
==============================================================================
--- trunk/introspection/nm-device.xml	(original)
+++ trunk/introspection/nm-device.xml	Thu Feb 28 02:07:21 2008
@@ -1,31 +1,140 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<node name="/">
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0";>
   <interface name="org.freedesktop.NetworkManager.Device">
     <method name="Deactivate">
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_device_deactivate"/>
+      <tp:docstring>
+        Deactivate the device, removing its routing table entry and IP address
+      </tp:docstring>
     </method>
 
-    <property name="Udi" type="s" access="read"/>
-    <property name="Interface" type="s" access="read"/>
-    <property name="Driver" type="s" access="read"/>
-    <property name="Capabilities" type="u" access="read"/>
-    <property name="Ip4Address" type="i" access="read"/>
-    <property name="State" type="u" access="read"/>
-    <property name="Ip4Config" type="o" access="read"/>
-    <property name="Carrier" type="b" access="read"/>
+    <property name="Udi" type="s" access="read">
+      <tp:docstring>
+        HAL UDI for the device.
+      </tp:docstring>
+    </property>
+    <property name="Interface" type="s" access="read">
+      <tp:docstring>
+        The network interface offered by the device.
+      </tp:docstring>
+    </property>
+    <property name="Driver" type="s" access="read">
+      <tp:docstring>
+        The driver handling the device.
+      </tp:docstring>
+    </property>
+    <property name="Capabilities" type="u" access="read" tp:type="NM_DEVICE_CAP">
+      <tp:docstring>
+        Flags describing the capabilities of the device.
+      </tp:docstring>
+    </property>
+    <property name="Ip4Address" type="i" access="read">
+      <tp:docstring>
+        The IPv4 address bound to the device. FIXME: what about devices with >1 IP address?
+      </tp:docstring>
+    </property>
+    <property name="State" type="u" access="read" tp:type="NM_DEVICE_STATE">
+      <tp:docstring>
+        The current state of the device.
+      </tp:docstring>
+    </property>
+    <property name="Ip4Config" type="o" access="read">
+      <tp:docstring>
+        Object path of the Ip4Config object describing the configuration of the device.
+      </tp:docstring>
+    </property>
+    <property name="Carrier" type="b" access="read">
+      <tp:docstring>
+        Indicates whether the physical carrier is found (e.g. the device is plugged in or associated to a network).
+      </tp:docstring>
+    </property>
 
     <!-- Ugh, but I see no other way of getting the type on the caller
-         based on dbus object path only -->
-    <property name="DeviceType" type="u" access="read"/>
+    based on dbus object path only -->
+    <property name="DeviceType" type="u" access="read">
+      <tp:docstring>
+      </tp:docstring>
+    </property>
+
 
     <signal name="StateChanged">
-      <arg name="state" type="u"/>
+      <arg name="state" type="u" tp:type="NM_DEVICE_STATE">
+        <tp:docstring>
+          The new state of the device.
+        </tp:docstring>
+      </arg>
     </signal>
 
     <signal name="CarrierChanged">
-      <arg name="carrier_on" type="b"/>
+      <arg name="carrier_on" type="b">
+        <tp:docstring>
+          Boolean indicating whether the carrier is now on or off.
+        </tp:docstring>
+      </arg>
     </signal>
-
+    <tp:enum name="NM_DEVICE_STATE" type="u">
+      <tp:enumvalue suffix="UNKNOWN" value="0">
+        <tp:docstring>
+          The device is in an unknown state.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="DOWN" value="1">
+        <tp:docstring>
+          The device is down.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="DISCONNECTED" value="2">
+        <tp:docstring>
+          The device is not connected.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="PREPARE" value="3">
+        <tp:docstring>
+          The device is preparing to connect.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="CONFIG" value="4">
+        <tp:docstring>
+          The device is being configured.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="NEED_AUTH" value="5">
+        <tp:docstring>
+          The device is awaiting authorization credentials.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="IP_CONFIG" value="6">
+        <tp:docstring>
+          The IP address of the device is being configured.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="ACTIVATED" value="7">
+        <tp:docstring>
+          The device is active.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="FAILED" value="8">
+        <tp:docstring>
+          The device is in a failure state following an attempt to activate it.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="CANCELLED" value="9">
+        <tp:docstring>
+          The previous activation attempt on this device was cancelled.
+        </tp:docstring>
+      </tp:enumvalue>
+    </tp:enum>
+    <tp:flags name="NM_DEVICE_CAP" value-prefix="NM_DEVICE_CAP" type="u">
+      <tp:flag suffix="NONE" value="0x0">
+        <tp:docstring>Null capability.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="NM_SUPPORTED" value="0x1">
+        <tp:docstring>The device is supported by NetworkManager.</tp:docstring>
+      </tp:flag>
+      <tp:flag suffix="CARRIER_DETECT" value="0x2">
+        <tp:docstring>The device supports carrier detection.</tp:docstring>
+      </tp:flag>
+    </tp:flags>
   </interface>
 </node>

Modified: trunk/introspection/nm-exported-connection.xml
==============================================================================
--- trunk/introspection/nm-exported-connection.xml	(original)
+++ trunk/introspection/nm-exported-connection.xml	Thu Feb 28 02:07:21 2008
@@ -1,42 +1,89 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<node name="/">
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0";>
 
-  <interface name="org.freedesktop.NetworkManagerSettings.Connection">
+    <interface name="org.freedesktop.NetworkManagerSettings.Connection">
+        <tp:docstring>
+            Represents a single network connection configuration.
+        </tp:docstring>
+        <method name="GetID">
+            <tp:docstring>
+                Obtain the ID of this connection.
+            </tp:docstring>
+            <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_exported_connection_get_id"/>
+            <arg name="id" type="s" direction="out">
+                <tp:docstring>
+                    The ID of this connection.
+                </tp:docstring>
+            </arg>
+        </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 the changed settings.
+                </tp:docstring>
+            </arg>
+        </signal>
+
+        <signal name="Removed">
+            <tp:docstring>
+                Emitted when this settings object was removed. FIXME: Is this emitted after it was removed or when it is about to be removed?  If after removed, then different semantics to Device removed.  if prior to removal, should be called AboutToBeRemoved.
+            </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.A
+                </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{sv}" direction="out" tp:type="String_Variant_Map">
+                <tp:docstring>
+                    Map of secrets.
+                </tp:docstring>
+            </arg>
+        </method>
 
-    <method name="GetID">
-      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_exported_connection_get_id"/>
-      <arg name="id" type="s" direction="out"/>
-    </method>
-
-    <method name="GetSettings">
-      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_exported_connection_get_settings"/>
-      <arg name="settings" type="a{sa{sv}}" direction="out"/>
-    </method>
-
-    <signal name="Updated">
-      <arg name="settings" type="a{sa{sv}}"/>
-    </signal>
-
-    <signal name="Removed">
-    </signal>
-
-  </interface>
-
-  <!-- Secrets have a separate interface so that they can be locked down -->
-  <interface name="org.freedesktop.NetworkManagerSettings.Connection.Secrets">
-
-    <method name="GetSecrets">
-      <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"/>
-      <!-- Array of strings of key names in the Setting for which NM thinks
-           a secrets may be required. -->
-      <arg name="hints" type="as" direction="in"/>
-      <arg name="request_new" type="b" direction="in"/>
-      <arg name="secrets" type="a{sv}" direction="out"/>
-    </method>
-
-  </interface>
+    </interface>
 
 </node>

Modified: trunk/introspection/nm-ip4-config.xml
==============================================================================
--- trunk/introspection/nm-ip4-config.xml	(original)
+++ trunk/introspection/nm-ip4-config.xml	Thu Feb 28 02:07:21 2008
@@ -1,16 +1,34 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<node name="/">
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0";>
   <interface name="org.freedesktop.NetworkManager.IP4Config">
-    <property name="Address" type="u" access="read"/>
-    <property name="Gateway" type="u" access="read"/>
-    <property name="Netmask" type="u" access="read"/>
-    <property name="Broadcast" type="u" access="read"/>
-    <property name="Hostname" type="s" access="read"/>
-    <property name="Nameservers" type="au" access="read"/>
-    <property name="Domains" type="as" access="read"/>
-    <property name="NisDomain" type="s" access="read"/>
-    <property name="NisServers" type="au" access="read"/>
+    <property name="Address" type="u" access="read">
+      <tp:docstring>IPv4 address. FIXME: what about multiple addresses?</tp:docstring>
+    </property>
+    <property name="Gateway" type="u" access="read">
+      <tp:docstring>Default gateway.</tp:docstring>
+    </property>
+    <property name="Netmask" type="u" access="read">
+      <tp:docstring>Network mask of this network.</tp:docstring>
+    </property>
+    <property name="Broadcast" type="u" access="read">
+      <tp:docstring>Broadcast address of this network.</tp:docstring>
+    </property>
+    <property name="Hostname" type="s" access="read">
+      <tp:docstring>The hostname associated with this IPv4 address. FIXME: what about multiple hostnames?</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="NisDomain" type="s" access="read">
+      <tp:docstring>The NIS domain this address belongs to.</tp:docstring>
+    </property>
+    <property name="NisServers" type="au" access="read">
+      <tp:docstring>The NIS servers associated with this address.</tp:docstring>
+    </property>
   </interface>
 </node>
 

Modified: trunk/introspection/nm-manager-client.xml
==============================================================================
--- trunk/introspection/nm-manager-client.xml	(original)
+++ trunk/introspection/nm-manager-client.xml	Thu Feb 28 02:07:21 2008
@@ -1,10 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
 <!-- 
-  READ ME! READ ME! READ ME! READ ME! READ ME!
+READ ME! READ ME! READ ME! READ ME! READ ME!
 
-  This file needs to be kept in sync with nm-manager.xml with the exception of
-  the legacy methods at the end of nm-manager.xml.
+This file needs to be kept in sync with nm-manager.xml with the exception of
+the legacy methods at the end of nm-manager.xml.
+
+This file is only used to ensure that a few legacy 0.6 D-DBus methods that
+NM supports don't leak into libnm-glib, but are only exposed by the NMManager
+object.  dbus-glib generates the same bound function names for D-Bus the methods
+"sleep" and "Sleep", unfortunately.
 -->
 
 <node name="/">
@@ -59,6 +64,5 @@
     <signal name="DeviceRemoved">
       <arg name="state" type="o"/>
     </signal>
-
   </interface>
 </node>

Modified: trunk/introspection/nm-manager.xml
==============================================================================
--- trunk/introspection/nm-manager.xml	(original)
+++ trunk/introspection/nm-manager.xml	Thu Feb 28 02:07:21 2008
@@ -7,72 +7,229 @@
   the legacy methods at the end of this file.
 -->
 
-<node name="/">
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0";>
   <interface name="org.freedesktop.NetworkManager">
     <method name="GetDevices">
+      <tp:docstring>
+        Get the list of network devices.
+      </tp:docstring>
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_get_devices"/>
-      <arg name="devices" type="ao" direction="out"/>
+      <arg name="devices" type="ao" direction="out">
+        <tp:docstring>
+          List of object paths of network devices known to the system.
+        </tp:docstring>
+      </arg>
     </method>
 
     <method name="ActivateDevice">
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_activate_device"/>
       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
-      <arg name="device" type="o" direction="in"/>
-      <arg name="service_name" type="s" direction="in"/>
-      <arg name="connection" type="o" direction="in"/>
-      <arg name="specific_object" type="o" direction="in"/>
+      <tp:docstring>
+        Activate a device using the supplied connection.
+      </tp:docstring>
+      <arg name="device" type="o" direction="in">
+        <tp:docstring>
+          The device to be activated.
+        </tp:docstring>
+      </arg>
+      <arg name="service_name" type="s" direction="in">
+        <tp:docstring>
+          The D-Bus service name of the settings service that provides this connection.
+        </tp:docstring>
+      </arg>
+      <arg name="connection" type="o" direction="in">
+        <tp:docstring>
+          The connection to activate the devices with.
+        </tp:docstring>
+      </arg>
+      <arg name="specific_object" type="o" direction="in">
+        <tp:docstring>
+          The path of a device-type-specific object this activation should use, for example a WiFi access point.
+        </tp:docstring>
+      </arg>
+      <tp:possible-errors>
+        <tp:error name="org.freedesktop.NetworkManager.Error.UnknownConnection"/>
+        <tp:error name="org.freedesktop.NetworkManager.Error.UnknownDevice"/>
+        <tp:error name="org.freedesktop.NetworkManager.Error.InvalidService"/>
+        <tp:error name="org.freedesktop.NetworkManager.Error.ConnectionActivating">
+          <tp:docstring>Another connection is already activating or the same connection is already active.  FIXME: check if the error name is correct.  FIXME: split into 2 errors?</tp:docstring>
+        </tp:error>
+        <tp:error name="org.freedesktop.NetworkManager.Error.ConnectionInvalid">
+          <tp:docstring>The connection is invalid for this device.</tp:docstring>
+        </tp:error>
+
+      </tp:possible-errors>
     </method>
 
     <method name="GetActiveConnections">
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_get_active_connections"/>
       <!-- 'connections' is an array of structs
-           consisting of the following elements:
-               service name
-               connection object path
-               specific object
-               array of (device object path)
+      consisting of the following elements:
+      service name
+      connection object path
+      specific object
+      array of (device object path)
       -->
-      <arg name="connections" type="a(sooao)" direction="out"/>
+      <arg name="connections" type="a(sooao)" direction="out" tp:type="Active_Connection[]">
+        <tp:docstring>
+          List of active connections
+        </tp:docstring>
+      </arg>
     </method>
 
     <method name="Sleep">
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_sleep"/>
-      <arg name="sleep" type="b" direction="in"/>
-    </method>
-
-    <property name="WirelessEnabled" type="b" access="readwrite"/>
-    <property name="WirelessHardwareEnabled" type="b" access="read"/>
-    <property name="State" type="u" access="read"/>
+      <tp:docstring>
+        Control the NetworkManager daemon's sleep state.  When asleep, all interfaces that it manages are deactivated.  When awake, devices are available to be activated.
+      </tp:docstring>
+      <arg name="sleep" type="b" direction="in">
+        <tp:docstring>
+          Indicates whether the NetworkManager daemon should sleep or wake.
+        </tp:docstring>
+      </arg>
+    </method>
+
+    <property name="WirelessEnabled" type="b" access="readwrite">
+      <tp:docstring>
+        Indicates if wireless is currently enabled or not.
+      </tp:docstring>
+    </property>
+
+    <property name="WirelessHardwareEnabled" type="b" access="read">
+      <tp:docstring>
+        Indicates if the wireless hardware is currently enabled, i.e. the state of the RF kill switch.
+      </tp:docstring>
+    </property>
+
+    <property name="State" type="u" access="read" tp:type="NM_STATE">
+      <tp:docstring>
+        The overall state of the NetworkManager daemon.
+      </tp:docstring>
+    </property>
 
     <signal name="StateChange">
-      <arg name="state" type="u"/>
+      <tp:docstring>
+        NetworkManager's state changed.
+      </tp:docstring>
+      <arg name="state" type="u" tp:type="NM_STATE">
+        <tp:docstring>
+          The new state of NetworkManager.
+        </tp:docstring>
+      </arg>
     </signal>
 
     <signal name="PropertiesChanged">
-      <arg name="properties" type="a{sv}"/>
+      <tp:docstring>
+        NetworkManager's properties changed.
+      </tp:docstring>
+      <arg name="properties" type="a{sv}" tp:type="String_Variant_Map">
+        <tp:docstring>
+          The changed properties.
+        </tp:docstring>
+      </arg>
     </signal>
 
     <signal name="DeviceAdded">
-      <arg name="state" type="o"/>
+      <tp:docstring>
+        A device was added to the system
+      </tp:docstring>
+      <arg name="device_path" type="o">
+        <tp:docstring>
+          The object path of the newly added device.
+        </tp:docstring>
+      </arg>
     </signal>
 
     <signal name="DeviceRemoved">
-      <arg name="state" type="o"/>
+      <tp:docstring>
+        A device was removed from the system, and is no longer available.
+      </tp:docstring>
+      <arg name="device_path" type="o">
+        <tp:docstring>
+          The object path of the device that was just removed.
+        </tp:docstring>
+      </arg>
     </signal>
 
+    <tp:enum name="NM_STATE" type="u">
+      <tp:docstring>
+        Describes the overall state of the daemon.
+      </tp:docstring>
+      <tp:enumvalue suffix="UNKNOWN" value="0">
+        <tp:docstring>
+          The NetworkManager daemon is in an unknown state.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="ASLEEP" value="1">
+        <tp:docstring>
+          The NetworkManager daemon is asleep and all interfaces managed by it are inactive.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="CONNECTING" value="2">
+        <tp:docstring>
+          The NetworkManager daemon is connecting a device.  FIXME: What does this mean when one device is active and another is connecting?
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="CONNECTED" value="3">
+        <tp:docstring>
+          The NetworkManager daemon is connected.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="DISCONNECTED" value="4">
+        <tp:docstring>
+          The NetworkManager daemon is disconnected.
+        </tp:docstring>
+      </tp:enumvalue>
+    </tp:enum>
+
+
+    <tp:struct name="Active_Connection" array-name="Active_Connection_List">
+      <tp:docstring>A struct representing an active connection, returned by GetActiveConnections on the NetworkManager interface.
+      </tp:docstring>
+      <tp:member type="s" name="service_name">
+        <tp:docstring>
+          The D-Bus service name of the settings service that provides this connection.
+        </tp:docstring>
+      </tp:member>
+      <tp:member type="o" name="connection_path">
+        <tp:docstring>
+          Object path of the active connection
+        </tp:docstring>
+      </tp:member>
+      <tp:member type="o" name="specific_object">
+        <tp:docstring>
+          Object path of a device-type-specific object this connection uses, for example a specific WiFi access point.
+        </tp:docstring>
+      </tp:member>
+      <tp:member type="ao" name="active_device_list">
+        <tp:docstring>
+          Array of object paths to the devices this connection is active on.
+        </tp:docstring>
+      </tp:member>
+    </tp:struct>
+
     <!-- Legacy methods to maintain backwards compatibility for 0.6 branch. -->
 
     <method name="sleep">
+      <tp:docstring>
+        DEPRECATED.  Control the NetworkManager daemon's sleep state.  When asleep, all interfaces that it manages are deactivated.
+      </tp:docstring>
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_legacy_sleep"/>
     </method>
 
     <method name="wake">
+      <tp:docstring>
+        DEPRECATED.  Control the NetworkManager daemon's sleep state.  When awake, all known interfaces are available to be activated.
+      </tp:docstring>
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_legacy_wake"/>
     </method>
 
     <method name="state">
+      <tp:docstring>
+        DEPRECATED.  The overall state of the NetworkManager daemon.
+      </tp:docstring>
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_legacy_state"/>
-      <arg name="state" type="u" direction="out"/>
+      <arg name="state" type="u" direction="out" tp:type="NM_STATE"/>
     </method>
 
   </interface>

Modified: trunk/introspection/nm-settings.xml
==============================================================================
--- trunk/introspection/nm-settings.xml	(original)
+++ trunk/introspection/nm-settings.xml	Thu Feb 28 02:07:21 2008
@@ -1,18 +1,33 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<node name="/">
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0";>
+    <interface name="org.freedesktop.NetworkManagerSettings">
+        <tp:docstring>
+            The NetworkManagerSettings interface is held by a separate process to the daemon and provides settings to the daemon.
+        </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>
+
+        <signal name="NewConnection">
+            <tp:docstring>
+                Emitted when a new connection has been configured.
+            </tp:docstring>
+            <arg name="connection" type="o">
+                <tp:docstring>
+                    Object path of the new connection.
+                </tp:docstring>
+            </arg>
+        </signal>
 
-  <interface name="org.freedesktop.NetworkManagerSettings">
-
-    <method name="ListConnections">
-      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_settings_list_connections"/>
-      <arg name="connections" type="ao" direction="out"/>
-    </method>
-
-    <signal name="NewConnection">
-      <arg name="connection" type="o"/>
-    </signal>
-
-  </interface>
+    </interface>
 
 </node>

Modified: trunk/introspection/nm-vpn-connection.xml
==============================================================================
--- trunk/introspection/nm-vpn-connection.xml	(original)
+++ trunk/introspection/nm-vpn-connection.xml	Thu Feb 28 02:07:21 2008
@@ -1,19 +1,136 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<node name="/">
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0";>
   <interface name="org.freedesktop.NetworkManager.VPN.Connection">
+    <tp:docstring>
+      Represents a connection to a Virtual Private Network.
+    </tp:docstring>
     <method name="Disconnect">
+      <tp:docstring>
+        Disconnect the VPN connection.
+      </tp:docstring>
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_connection_disconnect"/>
     </method>
 
-    <property name="Name" type="s" access="read"/>
-    <property name="State" type="u" access="read"/>
-    <property name="Banner" type="s" access="read"/>
+    <property name="Name" type="s" access="read">
+      <tp:docstring>The name of the VPN connection.</tp:docstring>
+    </property>
+    <property name="State" type="u" access="read" tp:type="NM_VPN_CONNECTION_STATE">
+      <tp:docstring>The state of the VPN connection.</tp:docstring>
+    </property>
+    <property name="Banner" type="s" access="read">
+      <tp:docstring>The banner string of the VPN connection.</tp:docstring>
+    </property>
 
     <signal name="StateChanged">
-      <arg name="state" type="u"/>
-      <arg name="reason" type="u"/>
+      <tp:docstring>
+        Emitted when the state of the VPN connection has changed.
+      </tp:docstring>
+      <arg name="state" type="u" tp:type="NM_VPN_CONNECTION_STATE">
+        <tp:docstring>
+          The new state of the VPN connection.
+        </tp:docstring>
+      </arg>
+      <arg name="reason" type="u" tp:type="NM_VPN_CONNECTION_STATE_REASON">
+        <tp:docstring>
+          Reason code describing the change to the new state.
+        </tp:docstring>
+      </arg>
     </signal>
+    <tp:enum name="NM_VPN_CONNECTION_STATE" type="u">
+      <tp:enumvalue suffix="UNKNOWN" value="0">
+        <tp:docstring>
+          The state of the VPN connection is unknown.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="PREPARE" value="1">
+        <tp:docstring>
+          The VPN connection is preparing to connect.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="NEED_AUTH" value="2">
+        <tp:docstring>
+          The VPN connection needs authorization credentials.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="CONNECT" value="3">
+        <tp:docstring>
+          The VPN connection is being established.  FIXME: Should be CONNECTING or CONNECTED.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="IP_CONFIG_GET" value="4">
+        <tp:docstring>
+          The VPN connection is getting an IP address.  FIXME: Should be an -ING 
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="ACTIVATED" value="5">
+        <tp:docstring>
+          The VPN connection is active.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="FAILED" value="6">
+        <tp:docstring>
+          The VPN connection failed.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="DISCONNECTED" value="7">
+        <tp:docstring>
+          The VPN connection is disconnected.
+        </tp:docstring>
+      </tp:enumvalue>
+    </tp:enum>
+    <tp:enum name="NM_VPN_CONNECTION_STATE_REASON" type="u">
+      <tp:enumvalue suffix="UNKNOWN" value="0">
+        <tp:docstring>
+          The reason for the VPN connection state change is unknown.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="NONE" value="1">
+        <tp:docstring>
+          No reason was given for the VPN connection state change.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="USER_DISCONNECTED" value="2">
+        <tp:docstring>
+          The VPN connection changed state because the user disconnected it.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="DEVICE_DISCONNECTED" value="3">
+        <tp:docstring>
+          The VPN connection changed state because the device it was using was disconnected.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="SERVICE_STOPPED" value="4">
+        <tp:docstring>
+          The service providing the VPN connection was stopped.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="IP_CONFIG_INVALID" value="5">
+        <tp:docstring>
+          The IP config of the VPN connection was invalid.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="CONNECT_TIMEOUT" value="6">
+        <tp:docstring>
+          The connection attempt to the VPN service timed out.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="SERVICE_START_TIMEOUT" value="7">
+        <tp:docstring>
+          A timeout occurred while starting the service providing the VPN connection.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="SERVICE_START_FAILED" value="8">
+        <tp:docstring>
+          Starting the service starting the service providing the VPN connection failed.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="NO_SECRETS" value="9">
+        <tp:docstring>
+          Necessary secrets for the VPN connection were not provided.
+        </tp:docstring>
+      </tp:enumvalue>
+    </tp:enum>
   </interface>
 </node>
 

Modified: trunk/introspection/nm-vpn-manager.xml
==============================================================================
--- trunk/introspection/nm-vpn-manager.xml	(original)
+++ trunk/introspection/nm-vpn-manager.xml	Thu Feb 28 02:07:21 2008
@@ -1,18 +1,44 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<node name="/">
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0";>
   <interface name="org.freedesktop.NetworkManager.VPN.Manager">
     <method name="Connect">
+      <tp:docstring>
+        Establish a VPN connection.
+      </tp:docstring>
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_manager_connect"/>
-      <arg name="connection_type" type="s" direction="in"/>
-      <arg name="connection" type="o" direction="in"/>
-      <arg name="device" type="o" direction="in"/>
-      <arg name="vpn_connection" type="o" direction="out"/>
+      <arg name="connection_type" type="s" direction="in">
+        <tp:docstring>
+          String describing the connection type.
+        </tp:docstring>
+      </arg>
+      <arg name="connection" type="o" direction="in">
+        <tp:docstring>
+          Object path of the network connection to establish the VPN connection on.
+        </tp:docstring>
+      </arg>
+      <arg name="device" type="o" direction="in">
+        <tp:docstring>
+          Object path of the device to establish the VPN connection on.
+        </tp:docstring>
+      </arg>
+      <arg name="vpn_connection" type="o" direction="out">
+        <tp:docstring>
+          Object path of the newly created VPN connection.
+        </tp:docstring>
+      </arg>
     </method>
 
     <method name="ListConnections">
+      <tp:docstring>
+        Get the list of active VPN connections.
+      </tp:docstring>
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_manager_get_connections"/>
-      <arg name="connections" type="ao" direction="out"/>
+      <arg name="connections" type="ao" direction="out">
+        <tp:docstring>
+          List of object paths of active VPN connections.
+        </tp:docstring>
+      </arg>
     </method>
 
   </interface>

Modified: trunk/introspection/nm-vpn-plugin.xml
==============================================================================
--- trunk/introspection/nm-vpn-plugin.xml	(original)
+++ trunk/introspection/nm-vpn-plugin.xml	Thu Feb 28 02:07:21 2008
@@ -1,49 +1,132 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
-<node name="/">
+<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0";>
   <interface name="org.freedesktop.NetworkManager.VPN.Plugin">
+    <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.
+      </tp:docstring>
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_connect"/>
-      <arg name="connection" type="a{sa{sv}}" direction="in"/>
+      <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>
+      <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:possible-errors>
     </method>
 
     <method name="NeedSecrets">
+      <tp:docstring>
+        Asks the plugin whether the provided connection will require secrets to connect successfully.
+      </tp:docstring>
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_need_secrets"/>
-      <arg name="settings" type="a{sa{sv}}" direction="in"/>
-      <arg name="setting_name" type="s" direction="out"/>
+      <arg name="settings" type="a{sa{sv}}" direction="in" tp:type="String_String_Variant_Map_Map">
+        <tp:docstring>
+          Describes the connection that may need secrets.
+        </tp:docstring>
+      </arg>
+      <arg name="setting_name" type="s" direction="out">
+        <tp:docstring>
+          The setting name within the provided connection that requires secrets, if any.
+        </tp:docstring>
+      </arg>
+      <tp:possible-errors>
+        <tp:error name="org.freedesktop.NetworkManager.VPN.Error.ConnectionInvalid"/>
+      </tp:possible-errors>
     </method>
 
     <method name="Disconnect">
+      <tp:docstring>
+        Disconnect the plugin.
+      </tp:docstring>
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_disconnect"/>
+      <tp:possible-errors>
+        <tp:error name="org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress"/>
+        <tp:error name="org.freedesktop.NetworkManager.VPN.Error.AlreadyStopped"/>
+      </tp:possible-errors>
     </method>
 
     <method name="SetIp4Config">
+      <tp:docstring>
+        Set IPv4 details on the connection.
+      </tp:docstring>
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_ip4_config"/>
-      <arg name="config" type="a{sv}" direction="in"/>
+      <arg name="config" type="a{sv}" direction="in" tp:type="String_Variant_Map">
+        <tp:docstring>
+          Ip4Config details for the conneciton.
+        </tp:docstring>
+      </arg>
     </method>
 
     <method name="SetFailure">
+      <tp:docstring>
+        Indicate a failure to the plugin.
+      </tp:docstring>
       <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_vpn_plugin_set_failure"/>
-      <arg name="reason" type="s" direction="in"/>
+      <arg name="reason" type="s" direction="in">
+        <tp:docstring>
+          The reason for the failure.
+        </tp:docstring>
+      </arg>
     </method>
 
-    <property name="State" type="u" access="read"/>
+    <property name="State" type="u" access="read" tp:type="NM_VPN_CONNECTION_STATE">
+      <tp:docstring>
+        The state of the plugin.
+      </tp:docstring>
+    </property>
 
     <signal name="StateChanged">
-      <arg name="state" type="u"/>
+      <tp:docstring>
+        Emitted when the plugin state changes.
+      </tp:docstring>
+      <arg name="state" type="u" tp:type="NM_VPN_CONNECTION_STATE">
+        <tp:docstring>
+          The new state of the plugin.
+        </tp:docstring>
+      </arg>
     </signal>
 
     <signal name="Ip4Config">
-      <arg name="ip4config" type="a{sv}"/>
+      <tp:docstring>
+        The plugin obtained an IPv4 configuration.
+      </tp:docstring>
+      <arg name="ip4config" type="a{sv}" tp:type="String_Variant_Map">
+        <tp:docstring>
+          The IPv4 configuration.
+        </tp:docstring>
+      </arg>
     </signal>
 
     <signal name="LoginBanner">
-      <arg name="banner" type="s"/>
+      <tp:docstring>
+        Emitted when the plugin receives a login banner from the VPN service.
+      </tp:docstring>
+      <arg name="banner" type="s">
+        <tp:docstring>
+          The login banner string.
+        </tp:docstring>
+      </arg>
     </signal>
 
     <signal name="Failure">
-      <arg name="reason" type="u"/>
+      <tp:docstring>
+        Emitted when a failure in the VPN plugin occurs.
+      </tp:docstring>
+      <arg name="reason" type="u" tp:type="NM_VPN_CONNECTION_STATE_REASON">
+        <tp:docstring>
+          Reason code for the failure.
+        </tp:docstring>
+      </arg>
     </signal>
-
   </interface>
 </node>

Added: trunk/introspection/vpn-errors.xml
==============================================================================
--- (empty file)
+++ trunk/introspection/vpn-errors.xml	Thu Feb 28 02:07:21 2008
@@ -0,0 +1,32 @@
+<?xml version="1.0" ?>
+<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:error>
+  <tp:error name="StartingInProgress">
+    <tp:docstring>The request could not be processed because the VPN connection is already being started.</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:error>
+  <tp:error name="StoppingInProgress">
+    <tp:docstring>The request could not be processed because the VPN connection is already being stopped.</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: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:error>
+  <tp:error name="BadArguments">
+    <tp:docstring>Invalid arguments were passed with the request.  FIXME: too general.</tp:docstring>
+  </tp:error>
+  <tp:error name="LaunchFailed">
+    <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:error>
+</tp:errors>
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]