merge: branch 'lr/api-docs'

https://bugzilla.gnome.org/show_bug.cgi?id=779934
This commit is contained in:
Lubomir Rintel
2017-03-17 10:15:19 +01:00
78 changed files with 596 additions and 133 deletions

View File

@@ -38,8 +38,9 @@ MKTMPL_OPTIONS=
# Extra options to supply to gtkdoc-mkhtml # Extra options to supply to gtkdoc-mkhtml
MKHTML_OPTIONS=--path="$(abs_srcdir)" MKHTML_OPTIONS=--path="$(abs_srcdir)"
# Non-autogenerated SGML files to be included in $(DOC_MAIN_SGML_FILE) # Files to be included in $(DOC_MAIN_SGML_FILE)
content_files = \ content_files = \
$(GENERATED_FILES) \
dbus-org.freedesktop.NetworkManager.AccessPoint.xml \ dbus-org.freedesktop.NetworkManager.AccessPoint.xml \
dbus-org.freedesktop.NetworkManager.Connection.Active.xml \ dbus-org.freedesktop.NetworkManager.Connection.Active.xml \
dbus-org.freedesktop.NetworkManager.Device.Team.xml \ dbus-org.freedesktop.NetworkManager.Device.Team.xml \

View File

@@ -6,7 +6,11 @@
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude"> <book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo> <bookinfo>
<title>NetworkManager Reference Manual</title> <title>NetworkManager Reference Manual</title>
<releaseinfo>Version &version;</releaseinfo> <releaseinfo>
for NetworkManager &version;
The latest version of this documentation can be found on-line at
<ulink url="https://developer.gnome.org/NetworkManager/stable/">https://developer.gnome.org/NetworkManager/stable/</ulink>.
</releaseinfo>
<copyright> <copyright>
<year>2012</year> <year>2012</year>
@@ -39,79 +43,42 @@
</address> </address>
</para> </para>
</legalnotice> </legalnotice>
<abstract>
<para>
This manual is the reference documentation for NetworkManager, the standard
Linux network management service. It is intended for system administrators and
integrators who need to understand the capabilities of NetworkManager, its
configuration options, command line tools and the D-Bus API for programmatic
control of the service.
</para>
<para>
The end users NetworkManager should instead refer to respective documentation
of their desktop environment of choice.
</para>
<para>
The application developers who prefer not to use the D-Bus API directly can use the
<ulink url="https://developer.gnome.org/libnm/stable/">libnm</ulink> library
shipped with NetworkManager or its bindings to a higher level language such as
Python, Ruby or Vala via GObject introspection.
</para>
</abstract>
</bookinfo> </bookinfo>
<chapter id="manpages"> <part id="manpages">
<title>Manual Pages</title> <title>Manual Pages</title>
<xi:include href="../../man/nmcli.xml"/> <xi:include href="../../man/NetworkManager.xml"/>
<xi:include href="../../man/nmtui.xml"/>
<xi:include href="../../man/nm-online.xml"/>
<xi:include href="../../man/NetworkManager.conf.xml"/> <xi:include href="../../man/NetworkManager.conf.xml"/>
<xi:include href="../../man/nmcli.xml"/>
<xi:include href="../../man/nmcli-examples.xml"/>
<xi:include href="../../man/nmtui.xml"/>
<xi:include href="../../man/nm-settings.xml"><xi:fallback /></xi:include> <xi:include href="../../man/nm-settings.xml"><xi:fallback /></xi:include>
<xi:include href="../../man/nm-settings-keyfile.xml"><xi:fallback /></xi:include> <xi:include href="../../man/nm-settings-keyfile.xml"><xi:fallback /></xi:include>
<xi:include href="../../man/nm-settings-ifcfg-rh.xml"><xi:fallback /></xi:include> <xi:include href="../../man/nm-settings-ifcfg-rh.xml"><xi:fallback /></xi:include>
<xi:include href="../../man/nmcli-examples.xml"/> <xi:include href="../../man/nm-online.xml"/>
<xi:include href="../../man/NetworkManager.xml"/> </part>
</chapter>
<chapter id="spec"> <part id="ref-settings">
<title>D-Bus API Reference</title>
<para>
This part documents the D-Bus interface used to access the
NetworkManager daemon.
</para>
<section id="dbus-interfaces">
<title>Interfaces</title>
<!-- TODO: Split me into chapters about daemon, vpn plugins, dispatcher and the secret agent.
Then describe the daemon's singletons and object hierarchy. -->
<xi:include href="dbus-org.freedesktop.NetworkManager.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Settings.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.AgentManager.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.AccessPoint.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.PPP.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Settings.Connection.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.VPN.Connection.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Connection.Active.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Adsl.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Bond.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Bridge.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Bluetooth.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Dummy.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Wired.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Generic.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Infiniband.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.IPTunnel.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Macsec.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Macvlan.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Modem.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.OlpcMesh.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Team.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Tun.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Veth.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Vlan.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Vxlan.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Wireless.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.WiMax.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.DHCP4Config.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.DHCP6Config.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.IP4Config.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.IP6Config.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.VPN.Plugin.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.SecretAgent.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Statistics.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.DnsManager.xml"/>
</section>
<section id="dbus-types">
<title>Types</title>
<xi:include href="../../libnm-core/nm-dbus-types.xml"/>
<xi:include href="../../libnm-core/nm-vpn-dbus-types.xml"/>
</section>
</chapter>
<chapter id="ref-settings">
<title>Network Configuration Setting Specification</title> <title>Network Configuration Setting Specification</title>
<para> <para>
This part documents the properties and value types of each "Setting" This part documents the properties and value types of each "Setting"
@@ -122,16 +89,16 @@
</para> </para>
<xi:include href="settings-spec.xml"> <xi:include href="settings-spec.xml">
<xi:fallback> <xi:fallback>
<section> <chapter>
<title>Configuration Settings</title> <title>Configuration Settings</title>
<note><para> <note><para>
(NetworkManager was built without full introspection support. Setting (NetworkManager was built without full introspection support. Setting
documentation is not available.) documentation is not available.)
</para></note> </para></note>
</section> </chapter>
</xi:fallback> </xi:fallback>
</xi:include> </xi:include>
<section id="secrets-flags"> <chapter id="secrets-flags">
<title>Secret flag types</title> <title>Secret flag types</title>
<para> <para>
Each secret property in a setting has an associated "flags" property Each secret property in a setting has an associated "flags" property
@@ -165,8 +132,141 @@
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </para>
</section> </chapter>
</chapter> </part>
<part id="spec">
<title id="dbus-interfaces">D-Bus API Reference</title>
<para>
This part documents the D-Bus interface used to access the
NetworkManager daemon.
</para>
<chapter id="ref-dbus-manager">
<title>The <literal>/org/freedesktop/NetworkManager</literal> object</title>
<!-- TODO: Describe the object here -->
<xi:include href="dbus-org.freedesktop.NetworkManager.xml"/>
</chapter>
<chapter id="ref-dbus-agent-manager">
<title>The <literal>/org/freedesktop/NetworkManager/AgentManager</literal> object</title>
<!-- TODO: Describe the object here -->
<xi:include href="dbus-org.freedesktop.NetworkManager.AgentManager.xml"/>
</chapter>
<chapter id="ref-dbus-dns-manager">
<title>The <literal>/org/freedesktop/NetworkManager/DnsManager</literal> object</title>
<!-- TODO: Describe the object here -->
<xi:include href="dbus-org.freedesktop.NetworkManager.DnsManager.xml"/>
</chapter>
<chapter id="ref-dbus-settings-manager">
<title>The <literal>/org/freedesktop/NetworkManager/Settings</literal> object</title>
<!-- TODO: Describe the object here -->
<xi:include href="dbus-org.freedesktop.NetworkManager.Settings.xml"/>
</chapter>
<chapter id="ref-dbus-settings">
<title>The <literal>/org/freedesktop/NetworkManager/Settings/*</literal> objects</title>
<!-- TODO: Describe the objects here -->
<xi:include href="dbus-org.freedesktop.NetworkManager.Settings.Connection.xml"/>
</chapter>
<chapter id="ref-dbus-devices">
<title>The <literal>/org/freedesktop/NetworkManager/Devices/*</literal> objects</title>
<!-- TODO: Describe the objects here -->
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Statistics.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Adsl.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Bond.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Bridge.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Bluetooth.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Dummy.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Wired.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Generic.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Infiniband.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.IPTunnel.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Macsec.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Macvlan.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Modem.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.OlpcMesh.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Team.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Tun.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Veth.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Vlan.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Vxlan.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.Wireless.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.Device.WiMax.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.PPP.xml"/>
</chapter>
<chapter id="ref-dbus-active-connections">
<title>The <literal>/org/freedesktop/NetworkManager/ActiveConnection/*</literal> objects</title>
<!-- TODO: Describe the objects here -->
<xi:include href="dbus-org.freedesktop.NetworkManager.Connection.Active.xml"/>
<xi:include href="dbus-org.freedesktop.NetworkManager.VPN.Connection.xml"/>
</chapter>
<chapter id="ref-dbus-ip4-configs">
<title>The <literal>/org/freedesktop/NetworkManager/IP4Config/*</literal> objects</title>
<!-- TODO: Describe the objects here -->
<xi:include href="dbus-org.freedesktop.NetworkManager.IP4Config.xml"/>
</chapter>
<chapter id="ref-dbus-ip6-configs">
<title>The <literal>/org/freedesktop/NetworkManager/IP6Config/*</literal> objects</title>
<!-- TODO: Describe the objects here -->
<xi:include href="dbus-org.freedesktop.NetworkManager.IP6Config.xml"/>
</chapter>
<chapter id="ref-dbus-dhcp4-configs">
<title>The <literal>/org/freedesktop/NetworkManager/DHCP4Config/*</literal> objects</title>
<!-- TODO: Describe the objects here -->
<xi:include href="dbus-org.freedesktop.NetworkManager.DHCP4Config.xml"/>
</chapter>
<chapter id="ref-dbus-dhcp6-configs">
<title>The <literal>/org/freedesktop/NetworkManager/DHCP4Config/*</literal> objects</title>
<!-- TODO: Describe the objects here -->
<xi:include href="dbus-org.freedesktop.NetworkManager.DHCP6Config.xml"/>
</chapter>
<chapter id="ref-dbus-access-points">
<title>The <literal>/org/freedesktop/NetworkManager/AccessPoint/*</literal> objects</title>
<!-- TODO: Describe the objects here -->
<xi:include href="dbus-org.freedesktop.NetworkManager.AccessPoint.xml"/>
</chapter>
<chapter id="dbus-types">
<title>Types</title>
<xi:include href="../../libnm-core/nm-dbus-types.xml"/>
</chapter>
</part>
<part id="secret-agents">
<title>Secret Agent D-Bus API Reference</title>
<chapter id="dbus-secret-agent">
<title>Secret agents</title>
<!-- TODO: Describe the secret agent here -->
<xi:include href="dbus-org.freedesktop.NetworkManager.SecretAgent.xml"/>
</chapter>
</part>
<part id="vpn-plugins">
<title>VPN Plugin D-Bus API Reference</title>
<chapter id="dbus-vpn-types">
<title>VPN services</title>
<!-- TODO: Describe the VPN services here -->
<xi:include href="dbus-org.freedesktop.NetworkManager.VPN.Plugin.xml"/>
</chapter>
<chapter id="dbus-vpn-types">
<title>Types</title>
<xi:include href="../../libnm-core/nm-vpn-dbus-types.xml"/>
</chapter>
</part>
<index> <index>
<title>Index</title> <title>Index</title>

View File

@@ -9,37 +9,58 @@
/> />
<xsl:template match="nm-setting-docs"> <xsl:template match="nm-setting-docs">
<section> <chapter>
<title>Configuration Settings</title> <title>Configuration Settings</title>
<xsl:apply-templates/> <xsl:apply-templates/>
</section> </chapter>
</xsl:template> </xsl:template>
<xsl:template match="setting"> <xsl:template match="setting">
<para> <refentry>
<table> <xsl:attribute name="id">settings-<xsl:value-of select="@name"/></xsl:attribute>
<title><xsl:value-of select="@name"/> setting</title> <refnamediv>
<tgroup cols="4"> <refname><xsl:value-of select="@name"/></refname>
<thead> <refpurpose><xsl:value-of select="@description"/></refpurpose>
<row> </refnamediv>
<entry>Key Name</entry> <refsect1 role="properties">
<entry>Value Type</entry> <title>
<entry>Default Value</entry> <xsl:attribute name="id">settings-<xsl:value-of select="@name"/>.properties</xsl:attribute>
<entry>Value Description</entry> Properties
</row> </title>
</thead> <para>
<tbody> <table>
<xsl:apply-templates/> <tgroup cols="4">
</tbody> <thead>
</tgroup> <row>
</table> <entry>Key Name</entry>
</para> <entry>Value Type</entry>
<entry>Default Value</entry>
<entry>Value Description</entry>
</row>
</thead>
<tbody>
<xsl:apply-templates/>
</tbody>
</tgroup>
</table>
</para>
</refsect1>
</refentry>
</xsl:template> </xsl:template>
<xsl:template match="property"> <xsl:template match="property">
<xsl:variable name="setting_name" select="../@name"/> <xsl:variable name="setting_name" select="../@name"/>
<row> <row>
<entry><screen><xsl:value-of select="@name"/></screen></entry> <entry><screen>
<xsl:value-of select="@name"/>
<indexterm>
<xsl:attribute name="zone">settings-<xsl:value-of select="../@name"/></xsl:attribute>
<primary>
<xsl:attribute name="sortas"><xsl:value-of select="@name"/></xsl:attribute>
<xsl:value-of select="@name"/>
</primary>
</indexterm>
</screen></entry>
<entry><screen><xsl:value-of select="@type"/></screen></entry> <entry><screen><xsl:value-of select="@type"/></screen></entry>
<entry><screen><xsl:value-of select="@default"/></screen></entry> <entry><screen><xsl:value-of select="@default"/></screen></entry>
<entry><xsl:value-of select="@description"/><xsl:if test="@type = 'NMSettingSecretFlags'"> (see <xref linkend="secrets-flags"/> for flag values)</xsl:if></entry> <entry><xsl:value-of select="@description"/><xsl:if test="@type = 'NMSettingSecretFlags'"> (see <xref linkend="secrets-flags"/> for flag values)</xsl:if></entry>

View File

@@ -48,24 +48,130 @@
<chapter id="ref-overview"> <chapter id="ref-overview">
<title>Overview</title> <title>Overview</title>
<para> <section id="intro">
libnm maps fairly closely to the actual D-Bus API that NetworkManager <title>Introduction to libnm</title>
provides, wrapping the remote D-Bus objects as native GObjects, <para>
mapping D-Bus signals and properties to GObject signals and properties, libnm is a client library for NetworkManager, the standard Linux network
and providing helpful accessor and utility functions. However, unlike management service. NetworkManager supports a wide variety of network
the old libnm-util/libnm-glib API, the mapping to the D-Bus API is not configuration scenarios, hardware devices and protocol families. Most of
exact, and various inconveniences and historical anomolies of the D-Bus the functionality is exposed on a
API are papered over. <ulink url="https://developer.gnome.org/NetworkManager/stable/spec.html">D-Bus API</ulink>,
</para> allowing other tools to use the functionality provided by NetworkManager.
<para> </para>
The following is a rough overview of the libnm object structure and <para>
how to use the various parts of it: libnm provides C language bindings for functionality provided by
<mediaobject id="libnm-overview"> NetworkManager, optionally useful from other language runtimes as well.
<imageobject> </para>
<imagedata fileref="libnm.png" format="PNG"/> <para>
</imageobject> libnm maps fairly closely to the actual D-Bus API that NetworkManager
</mediaobject> provides, wrapping the remote D-Bus objects as native GObjects,
</para> mapping D-Bus signals and properties to GObject signals and properties,
and providing helpful accessor and utility functions. However, unlike
the old libnm-util/libnm-glib API, the mapping to the D-Bus API is not
exact, and various inconveniences and historical anomolies of the D-Bus
API are papered over.
</para>
<para>
The following is a rough overview of the libnm object structure and
how to use the various parts of it:
<mediaobject id="libnm-overview">
<imageobject>
<imagedata fileref="libnm.png" format="PNG"/>
</imageobject>
</mediaobject>
</para>
</section>
<section id="usage">
<title>Using libnm</title>
<simplesect>
<title>When to use libnm</title>
<para>
libnm is fairly simple to use from C. It's based on glib and GObject.
If your project uses these already you'll find integration libnm with your
project rather convenient. In fact, the <command>nmcli</command> tool shipped
with NetworkManager is based on libnm.
</para>
<para>
libnm should be also the way to go if your project does something non-trivial
with NetworkManager, such as manipulating the connection profiles.
That is, if you're writing a specialized networking control tool or a desktop
environment, libnm is probably the right choice. The popular desktop
environments in fact all use libnm directly or with nm-applet and
nm-connection-editor that are all based on libnm.
</para>
<para>
An alternative to use of libnm is the use of the
<ulink url="https://developer.gnome.org/NetworkManager/stable/spec.html">D-Bus API</ulink>
directly. This gives you larger flexibility and reduces the overhead of linking
with the libnm library. This makes sense if your task is simple and you have a good
D-Bus library at your disposal. Activating a particular connection profile
from a Python script is a good example of a task that is perfectly simple
without using libnm.
</para>
</simplesect>
<simplesect>
<title>How to use libnm</title>
<para>
You can use the libnm's C API directly. To do so, all libnm programs need to
include <filename>NetworkManager.h</filename> that provides necessary definitions.
The rest of the API is documented in the reference manual.
</para>
<informalexample><programlisting><![CDATA[#include <glib.h>
#include <NetworkManager.h>
int
main (int argc, char *argv[])
{
NMClient *client;
client = nm_client_new (NULL, NULL);
if (client)
g_print ("NetworkManager version: %s\n", nm_client_get_version (client));
}]]></programlisting></informalexample>
<para>
Use <command>pkg-config</command> for <varname>libnm</varname> to discover the necessary
compiler flags.
</para>
<screen><prompt>$ </prompt><userinput>cc $(pkg-config --libs --cflags libnm) -o hello-nm hello-nm.c</userinput>
<prompt>$ </prompt><userinput>./hello-nm</userinput>
NetworkManager version: &version;
<prompt>$ </prompt></screen>
<para>
Utilize the <varname>PKG_CHECK_MODULES</varname> macro to integrate with an
autoconf-based build system. It's also recommended to use
<varname>NM_VERSION_MIN_REQUIRED</varname> and <varname>NM_VERSION_MAX_ALLOWED</varname>
macros to tell libnm headers which API version does your application need to work with.
If you use them, the compiler will warn you when you use functionality that is not
available in the versions you specified.
</para>
<informalexample><programlisting><![CDATA[PKG_CHECK_MODULES(LIBNM, libnm >= 1.8)
LIBNM_CFLAGS="$LIBNM_CFLAGS -DNM_VERSION_MIN_REQUIRED=NM_VERSION_1_8"
LIBNM_CFLAGS="$LIBNM_CFLAGS -DNM_VERSION_MAX_ALLOWED=NM_VERSION_1_8"]]></programlisting></informalexample>
<para>
You can use libnm from other languages than C with the use of GObject introspection.
This includes Perl, Python, Javascript, Lua, Ruby and more. The example below shows what the
typical libnm use in Python would look like.
</para>
<informalexample><programlisting><![CDATA[import gi
gi.require_version('NM', '1.0')
from gi.repository import NM
client = NM.Client.new(None)
print ("NetworkManager version " + client.get_version())]]></programlisting></informalexample>
<para>
There's <ulink url="https://lazka.github.io/pgi-docs/#NM-1.0">NM-1.0 Python API Reference</ulink>
maintained a third party that is generated from the introspection metadata.
</para>
<para>
In general, the C API documentation applies to the use GObject introspection
from other languages, with the calling convention respecting the language's
customs. Consult the source tree for
<ulink url="https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/examples">some examples</ulink>.
</para>
</simplesect>
</section>
</chapter> </chapter>
<chapter> <chapter>

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.AccessPoint:
@short_description: Wi-Fi Access Point
-->
<interface name="org.freedesktop.NetworkManager.AccessPoint"> <interface name="org.freedesktop.NetworkManager.AccessPoint">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/org/freedesktop/NetworkManager/AgentManager"> <node name="/org/freedesktop/NetworkManager/AgentManager">
<!--
org.freedesktop.NetworkManager.AgentManager:
@short_description: Secret Agent Manager
-->
<interface name="org.freedesktop.NetworkManager.AgentManager"> <interface name="org.freedesktop.NetworkManager.AgentManager">
<!-- <!--

View File

@@ -3,6 +3,7 @@
<!-- <!--
org.freedesktop.NetworkManager.Checkpoint: org.freedesktop.NetworkManager.Checkpoint:
@short_description: Configuration and State Snapshot
A snapshot of NetworkManager state for a given device list A snapshot of NetworkManager state for a given device list
--> -->

View File

@@ -3,6 +3,7 @@
<!-- <!--
org.freedesktop.NetworkManager.Connection.Active: org.freedesktop.NetworkManager.Connection.Active:
@short_description: Active Connection
Objects that implement the Connection.Active interface represent an Objects that implement the Connection.Active interface represent an
attempt to connect to a network using the details provided by a Connection attempt to connect to a network using the details provided by a Connection

View File

@@ -3,6 +3,7 @@
<!-- <!--
org.freedesktop.NetworkManager.DHCP4Config: org.freedesktop.NetworkManager.DHCP4Config:
@short_description: IPv4 DHCP Client State
Options and configuration returned by the IPv4 DHCP server. Options and configuration returned by the IPv4 DHCP server.
--> -->

View File

@@ -3,6 +3,7 @@
<!-- <!--
org.freedesktop.NetworkManager.DHCP6Config: org.freedesktop.NetworkManager.DHCP6Config:
@short_description: IPv6 DHCP Client State
Options and configuration returned by the IPv6 DHCP server. Options and configuration returned by the IPv6 DHCP server.
--> -->

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Adsl:
@short_description: ADSL Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Adsl"> <interface name="org.freedesktop.NetworkManager.Device.Adsl">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Bluetooth:
@short_description: Bluetooth Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Bluetooth"> <interface name="org.freedesktop.NetworkManager.Device.Bluetooth">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Bond:
@short_description: Bonding Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Bond"> <interface name="org.freedesktop.NetworkManager.Device.Bond">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Bridge:
@short_description: Bridging Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Bridge"> <interface name="org.freedesktop.NetworkManager.Device.Bridge">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Dummy:
@short_description: Dummy Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Dummy"> <interface name="org.freedesktop.NetworkManager.Device.Dummy">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Generic:
@short_description: Unrecognized Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Generic"> <interface name="org.freedesktop.NetworkManager.Device.Generic">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.IPTunnel:
@short_description: IP Tunneling Device
-->
<interface name="org.freedesktop.NetworkManager.Device.IPTunnel"> <interface name="org.freedesktop.NetworkManager.Device.IPTunnel">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Infiniband:
@short_description: Infiniband Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Infiniband"> <interface name="org.freedesktop.NetworkManager.Device.Infiniband">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Macsec:
@short_description: MACSec Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Macsec"> <interface name="org.freedesktop.NetworkManager.Device.Macsec">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Macvlan:
@short_description: MAC VLAN Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Macvlan"> <interface name="org.freedesktop.NetworkManager.Device.Macvlan">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Modem:
@short_description: Modem Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Modem"> <interface name="org.freedesktop.NetworkManager.Device.Modem">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.OlpcMesh:
@short_description: OLPC Wireless Mesh Device
-->
<interface name="org.freedesktop.NetworkManager.Device.OlpcMesh"> <interface name="org.freedesktop.NetworkManager.Device.OlpcMesh">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Statistics:
@short_description: Device Statistic Counters
-->
<interface name="org.freedesktop.NetworkManager.Device.Statistics"> <interface name="org.freedesktop.NetworkManager.Device.Statistics">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Team:
@short_description: Teaming Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Team"> <interface name="org.freedesktop.NetworkManager.Device.Team">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Tun:
@short_description: Userspace Tunneling Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Tun"> <interface name="org.freedesktop.NetworkManager.Device.Tun">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Veth:
@short_description: Virtual Ethernet Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Veth"> <interface name="org.freedesktop.NetworkManager.Device.Veth">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Vlan:
@short_description: Virtual LAN Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Vlan"> <interface name="org.freedesktop.NetworkManager.Device.Vlan">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Vxlan:
@short_description: VXLAN Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Vxlan"> <interface name="org.freedesktop.NetworkManager.Device.Vxlan">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.WiMax:
@short_description: WiMax Device
-->
<interface name="org.freedesktop.NetworkManager.Device.WiMax"> <interface name="org.freedesktop.NetworkManager.Device.WiMax">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Wired:
@short_description: Wired Ethernet Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Wired"> <interface name="org.freedesktop.NetworkManager.Device.Wired">
<annotation name="org.gtk.GDBus.C.Name" value="DeviceEthernet"/> <annotation name="org.gtk.GDBus.C.Name" value="DeviceEthernet"/>

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device.Wireless:
@short_description: Wi-Fi Device
-->
<interface name="org.freedesktop.NetworkManager.Device.Wireless"> <interface name="org.freedesktop.NetworkManager.Device.Wireless">
<annotation name="org.gtk.GDBus.C.Name" value="DeviceWifi"/> <annotation name="org.gtk.GDBus.C.Name" value="DeviceWifi"/>

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.Device:
@short_description: Device
-->
<interface name="org.freedesktop.NetworkManager.Device"> <interface name="org.freedesktop.NetworkManager.Device">
<!-- <!--

View File

@@ -3,6 +3,7 @@
<!-- <!--
org.freedesktop.NetworkManager.DnsManager: org.freedesktop.NetworkManager.DnsManager:
@short_description: DNS Configuration State
The interface contains DNS-related information. The interface contains DNS-related information.
--> -->

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.IP4Config:
@short_description: IPv4 Configuration Set
-->
<interface name="org.freedesktop.NetworkManager.IP4Config"> <interface name="org.freedesktop.NetworkManager.IP4Config">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.IP6Config:
@short_description: IPv6 Configuration Set
-->
<interface name="org.freedesktop.NetworkManager.IP6Config"> <interface name="org.freedesktop.NetworkManager.IP6Config">
<!-- <!--

View File

@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.PPP:
@short_description: Helper interface for a PPP plugin
-->
<interface name="org.freedesktop.NetworkManager.PPP"> <interface name="org.freedesktop.NetworkManager.PPP">
<annotation name="org.gtk.GDBus.C.Name" value="PPP_Manager"/> <annotation name="org.gtk.GDBus.C.Name" value="PPP_Manager"/>

View File

@@ -3,6 +3,7 @@
<!-- <!--
org.freedesktop.NetworkManager.SecretAgent: org.freedesktop.NetworkManager.SecretAgent:
@short_description: User Secret Agent
Private D-Bus interface used by secret agents that store and provide Private D-Bus interface used by secret agents that store and provide
secrets to NetworkManager. If an agent provides secrets to NetworkManager secrets to NetworkManager. If an agent provides secrets to NetworkManager

View File

@@ -3,6 +3,7 @@
<!-- <!--
org.freedesktop.NetworkManager.Settings.Connection: org.freedesktop.NetworkManager.Settings.Connection:
@short_description: Connection Settings Profile
Represents a single network connection configuration. Represents a single network connection configuration.
--> -->

View File

@@ -3,6 +3,7 @@
<!-- <!--
org.freedesktop.NetworkManager.Settings: org.freedesktop.NetworkManager.Settings:
@short_description: Connection Settings Profile Manager
The Settings interface allows clients to view and administrate the The Settings interface allows clients to view and administrate the
connections stored and used by NetworkManager. connections stored and used by NetworkManager.

View File

@@ -3,6 +3,7 @@
<!-- <!--
org.freedesktop.NetworkManager.VPN.Connection: org.freedesktop.NetworkManager.VPN.Connection:
@short_description: Active VPN Connection
Represents an active connection to a Virtual Private Network. Represents an active connection to a Virtual Private Network.
--> -->

View File

@@ -3,6 +3,7 @@
<!-- <!--
org.freedesktop.NetworkManager.VPN.Plugin: org.freedesktop.NetworkManager.VPN.Plugin:
@short_description: VPN Service
This interface is provided by plugins providing VPN services to the This interface is provided by plugins providing VPN services to the
NetworkManager daemon. NetworkManager daemon.

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/"> <node name="/">
<!--
org.freedesktop.NetworkManager.WiMax.Nsp:
@short_description: WiMax Network Service Provider
-->
<interface name="org.freedesktop.NetworkManager.WiMax.Nsp"> <interface name="org.freedesktop.NetworkManager.WiMax.Nsp">
<!-- <!--

View File

@@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<node name="/org/freedesktop/NetworkManager"> <node name="/org/freedesktop/NetworkManager">
<!--
org.freedesktop.NetworkManager:
@short_description: Connection Manager
-->
<interface name="org.freedesktop.NetworkManager"> <interface name="org.freedesktop.NetworkManager">
<annotation name="org.gtk.GDBus.C.Name" value="Manager"/> <annotation name="org.gtk.GDBus.C.Name" value="Manager"/>

View File

@@ -76,7 +76,7 @@ typedef enum { /*< underscore_name=nm_setting_802_1x_ck_scheme >*/
} NMSetting8021xCKScheme; } NMSetting8021xCKScheme;
/** /**
* NMSetting8021xAuthFlags * NMSetting8021xAuthFlags:
* @NM_SETTING_802_1X_AUTH_FLAGS_NONE: No flags * @NM_SETTING_802_1X_AUTH_FLAGS_NONE: No flags
* @NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_0_DISABLE: Disable TLSv1.0 * @NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_0_DISABLE: Disable TLSv1.0
* @NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_1_DISABLE: Disable TLSv1.1 * @NM_SETTING_802_1X_AUTH_FLAGS_TLS_1_1_DISABLE: Disable TLSv1.1
@@ -174,6 +174,8 @@ typedef enum { /*< underscore_name=nm_setting_802_1x_auth_flags >*/
/** /**
* NMSetting8021x: * NMSetting8021x:
*
* AIEEE 802.1x Authentication Settings
*/ */
struct _NMSetting8021x { struct _NMSetting8021x {
NMSetting parent; NMSetting parent;

View File

@@ -56,6 +56,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingAdsl: * NMSettingAdsl:
*
* ADSL Settings
*/ */
struct _NMSettingAdsl { struct _NMSettingAdsl {
NMSetting parent; NMSetting parent;

View File

@@ -61,6 +61,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingBluetooth: * NMSettingBluetooth:
*
* Bluetooth Settings
*/ */
struct _NMSettingBluetooth { struct _NMSettingBluetooth {
NMSetting parent; NMSetting parent;

View File

@@ -72,6 +72,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingBond: * NMSettingBond:
*
* Bonding Settings
*/ */
struct _NMSettingBond { struct _NMSettingBond {
NMSetting parent; NMSetting parent;

View File

@@ -45,6 +45,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingBridgePort: * NMSettingBridgePort:
*
* Bridge Port Settings
*/ */
struct _NMSettingBridgePort { struct _NMSettingBridgePort {
NMSetting parent; NMSetting parent;

View File

@@ -50,6 +50,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingBridge: * NMSettingBridge:
*
* Bridging Settings
*/ */
struct _NMSettingBridge { struct _NMSettingBridge {
NMSetting parent; NMSetting parent;

View File

@@ -48,6 +48,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingCdma: * NMSettingCdma:
*
* CDMA-based Mobile Broadband Settings
*/ */
struct _NMSettingCdma { struct _NMSettingCdma {
NMSetting parent; NMSetting parent;

View File

@@ -99,8 +99,7 @@ typedef enum {
/** /**
* NMSettingConnection: * NMSettingConnection:
* *
* The NMSettingConnection struct contains only private data. * General Connection Profile Settings
* It should only be accessed through the functions described below.
*/ */
struct _NMSettingConnection { struct _NMSettingConnection {
NMSetting parent; NMSetting parent;

View File

@@ -94,6 +94,8 @@ typedef enum { /*< flags >*/
/** /**
* NMSettingDcb: * NMSettingDcb:
*
* Data Center Bridging Settings
*/ */
struct _NMSettingDcb { struct _NMSettingDcb {
NMSetting parent; NMSetting parent;

View File

@@ -41,6 +41,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingDummy: * NMSettingDummy:
*
* Dummy Link Settings
*/ */
struct _NMSettingDummy { struct _NMSettingDummy {
NMSetting parent; NMSetting parent;

View File

@@ -41,6 +41,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingGeneric: * NMSettingGeneric:
*
* Generic Link Settings
*/ */
struct _NMSettingGeneric { struct _NMSettingGeneric {
NMSetting parent; NMSetting parent;

View File

@@ -56,6 +56,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingGsm: * NMSettingGsm:
*
* GSM-based Mobile Broadband Settings
*/ */
struct _NMSettingGsm { struct _NMSettingGsm {
NMSetting parent; NMSetting parent;

View File

@@ -47,6 +47,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingInfiniband: * NMSettingInfiniband:
*
* Infiniband Settings
*/ */
struct _NMSettingInfiniband { struct _NMSettingInfiniband {
NMSetting parent; NMSetting parent;

View File

@@ -53,6 +53,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingIPTunnel: * NMSettingIPTunnel:
*
* IP Tunneling Settings
*/ */
struct _NMSettingIPTunnel { struct _NMSettingIPTunnel {
NMSetting parent; NMSetting parent;

View File

@@ -89,6 +89,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingIP4Config: * NMSettingIP4Config:
*
* IPv4 Settings
*/ */
struct _NMSettingIP4Config { struct _NMSettingIP4Config {
NMSettingIPConfig parent; NMSettingIPConfig parent;

View File

@@ -139,6 +139,8 @@ typedef enum {
/** /**
* NMSettingIP6Config: * NMSettingIP6Config:
*
* IPv6 Settings
*/ */
struct _NMSettingIP6Config { struct _NMSettingIP6Config {
NMSettingIPConfig parent; NMSettingIPConfig parent;

View File

@@ -50,6 +50,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingMacsec: * NMSettingMacsec:
*
* MACSec Settings
*/ */
struct _NMSettingMacsec { struct _NMSettingMacsec {
NMSetting parent; NMSetting parent;

View File

@@ -46,6 +46,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingMacvlan: * NMSettingMacvlan:
*
* MAC VLAN Settings
*/ */
struct _NMSettingMacvlan { struct _NMSettingMacvlan {
NMSetting parent; NMSetting parent;

View File

@@ -46,6 +46,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingOlpcMesh: * NMSettingOlpcMesh:
*
* OLPC Wireless Mesh Settings
*/ */
struct _NMSettingOlpcMesh { struct _NMSettingOlpcMesh {
NMSetting parent; NMSetting parent;

View File

@@ -61,6 +61,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingPpp: * NMSettingPpp:
*
* Point-to-Point Protocol Settings
*/ */
struct _NMSettingPpp { struct _NMSettingPpp {
NMSetting parent; NMSetting parent;

View File

@@ -47,6 +47,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingPppoe: * NMSettingPppoe:
*
* PPP-over-Ethernet Settings
*/ */
struct _NMSettingPppoe { struct _NMSettingPppoe {
NMSetting parent; NMSetting parent;

View File

@@ -58,6 +58,11 @@ typedef enum {
#define NM_SETTING_PROXY_PAC_URL "pac-url" #define NM_SETTING_PROXY_PAC_URL "pac-url"
#define NM_SETTING_PROXY_PAC_SCRIPT "pac-script" #define NM_SETTING_PROXY_PAC_SCRIPT "pac-script"
/**
* NMSettingProxy:
*
* WWW Proxy Settings
*/
struct _NMSettingProxy { struct _NMSettingProxy {
NMSetting parent; NMSetting parent;
}; };

View File

@@ -62,6 +62,8 @@ typedef enum {
/** /**
* NMSettingSerial: * NMSettingSerial:
*
* Serial Link Settings
*/ */
struct _NMSettingSerial { struct _NMSettingSerial {
NMSetting parent; NMSetting parent;

View File

@@ -42,6 +42,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingTeamPort: * NMSettingTeamPort:
*
* Team Port Settings
*/ */
struct _NMSettingTeamPort { struct _NMSettingTeamPort {
NMSetting parent; NMSetting parent;

View File

@@ -42,6 +42,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingTeam: * NMSettingTeam:
*
* Teaming Settings
*/ */
struct _NMSettingTeam { struct _NMSettingTeam {
NMSetting parent; NMSetting parent;

View File

@@ -62,6 +62,8 @@ typedef enum {
/** /**
* NMSettingTun: * NMSettingTun:
*
* Tunnel Settings
*/ */
struct _NMSettingTun { struct _NMSettingTun {
NMSetting parent; NMSetting parent;

View File

@@ -48,6 +48,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingVlan: * NMSettingVlan:
*
* VLAN Settings
*/ */
struct _NMSettingVlan { struct _NMSettingVlan {
NMSetting parent; NMSetting parent;

View File

@@ -49,6 +49,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingVpn: * NMSettingVpn:
*
* VPN Settings
*/ */
struct _NMSettingVpn { struct _NMSettingVpn {
NMSetting parent; NMSetting parent;

View File

@@ -58,6 +58,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingVxlan: * NMSettingVxlan:
*
* VXLAN Settings
*/ */
struct _NMSettingVxlan { struct _NMSettingVxlan {
NMSetting parent; NMSetting parent;

View File

@@ -44,6 +44,8 @@ G_BEGIN_DECLS
/** /**
* NMSettingWimax: * NMSettingWimax:
*
* WiMax Settings
*/ */
struct _NMSettingWimax { struct _NMSettingWimax {
NMSetting parent; NMSetting parent;

View File

@@ -96,6 +96,8 @@ typedef enum { /*< flags >*/
/** /**
* NMSettingWired: * NMSettingWired:
*
* Wired Ethernet Settings
*/ */
struct _NMSettingWired { struct _NMSettingWired {
NMSetting parent; NMSetting parent;

View File

@@ -91,6 +91,8 @@ typedef enum {
/** /**
* NMSettingWirelessSecurity: * NMSettingWirelessSecurity:
*
* Wi-Fi Security Settings
*/ */
struct _NMSettingWirelessSecurity { struct _NMSettingWirelessSecurity {
NMSetting parent; NMSetting parent;

View File

@@ -101,6 +101,8 @@ typedef enum {
/** /**
* NMSettingWireless: * NMSettingWireless:
*
* Wi-Fi Settings
*/ */
struct _NMSettingWireless { struct _NMSettingWireless {
NMSetting parent; NMSetting parent;

View File

@@ -112,7 +112,7 @@ def get_prop_type(setting, pspec, propxml):
return prop_type return prop_type
def get_docs(setting, pspec, propxml): def get_docs(propxml):
doc_xml = propxml.find('gi:doc', ns_map) doc_xml = propxml.find('gi:doc', ns_map)
if doc_xml is None: if doc_xml is None:
return None return None
@@ -162,6 +162,14 @@ def get_default_value(setting, pspec, propxml):
return default_value return default_value
def cmp_settings(x,y):
x_prefix = x.attrib['{%s}symbol-prefix' % ns_map['c']]
y_prefix = y.attrib['{%s}symbol-prefix' % ns_map['c']]
if x_prefix == "setting_connection":
# Always sort NMSettingConnection first
return -1;
return cmp(x_prefix, y_prefix)
def escape(val): def escape(val):
return str(val).replace('"', '&quot;') return str(val).replace('"', '&quot;')
@@ -186,7 +194,7 @@ settings = girxml.findall('./gi:namespace/gi:class[@parent="Setting"]', ns_map)
# Hack. Need a better way to do this # Hack. Need a better way to do this
ipxml = girxml.find('./gi:namespace/gi:class[@name="SettingIPConfig"]', ns_map) ipxml = girxml.find('./gi:namespace/gi:class[@name="SettingIPConfig"]', ns_map)
settings.extend(girxml.findall('./gi:namespace/gi:class[@parent="SettingIPConfig"]', ns_map)) settings.extend(girxml.findall('./gi:namespace/gi:class[@parent="SettingIPConfig"]', ns_map))
settings = sorted(settings, key=lambda setting: setting.attrib['{%s}symbol-prefix' % ns_map['c']]) settings = sorted(settings, cmp=cmp_settings)
init_constants(girxml, settings) init_constants(girxml, settings)
@@ -207,7 +215,10 @@ for settingxml in settings:
new_func = NM.__getattr__(settingxml.attrib['name']) new_func = NM.__getattr__(settingxml.attrib['name'])
setting = new_func() setting = new_func()
outfile.write(" <setting name=\"%s\">\n" % setting.props.name) class_desc = get_docs(settingxml)
if class_desc is None:
raise Exception("%s needs a gtk-doc block with one-line description" % setting.props.name)
outfile.write(" <setting name=\"%s\" description=\"%s\">\n" % (setting.props.name, class_desc))
setting_properties = { prop.name: prop for prop in GObject.list_properties(setting) } setting_properties = { prop.name: prop for prop in GObject.list_properties(setting) }
if args.overrides is None: if args.overrides is None:
@@ -231,7 +242,7 @@ for settingxml in settings:
propxml = ipxml.find('./gi:property[@name="%s"]' % pspec.name, ns_map) propxml = ipxml.find('./gi:property[@name="%s"]' % pspec.name, ns_map)
value_type = get_prop_type(setting, pspec, propxml) value_type = get_prop_type(setting, pspec, propxml)
value_desc = get_docs(setting, pspec, propxml) value_desc = get_docs(propxml)
default_value = get_default_value(setting, pspec, propxml) default_value = get_default_value(setting, pspec, propxml)
if prop in setting_overrides: if prop in setting_overrides:

View File

@@ -126,22 +126,25 @@
</xsl:template> </xsl:template>
<xsl:template match="setting"> <xsl:template match="setting">
<table> <refsect2>
<title><xsl:value-of select="@name"/> setting</title> <title><xsl:value-of select="@name"/> setting</title>
<tgroup cols="4"> <para><xsl:value-of select="@description"/>.</para>
<thead> <informaltable>
<row> <tgroup cols="4">
<entry>Key Name</entry> <thead>
<entry>Value Type</entry> <row>
<entry>Default Value</entry> <entry>Key Name</entry>
<entry>Value Description</entry> <entry>Value Type</entry>
</row> <entry>Default Value</entry>
</thead> <entry>Value Description</entry>
<tbody> </row>
<xsl:apply-templates/> </thead>
</tbody> <tbody>
</tgroup> <xsl:apply-templates/>
</table> </tbody>
</tgroup>
</informaltable>
</refsect2>
</xsl:template> </xsl:template>
<xsl:template match="property"> <xsl:template match="property">