diff --git a/.gitignore b/.gitignore index 2e6cdaeda8..ed7aa78e92 100644 --- a/.gitignore +++ b/.gitignore @@ -114,6 +114,19 @@ valgrind-*.log /docs/libnm-util/libnm-util.types /docs/libnm-util/version.xml +/docs/libnm/*.stamp +/docs/libnm/html/ +/docs/libnm/tmpl/ +/docs/libnm/xml/ +/docs/libnm/libnm-*.txt +/docs/libnm/libnm.args +/docs/libnm/libnm.hierarchy +/docs/libnm/libnm.interfaces +/docs/libnm/libnm.prerequisites +/docs/libnm/libnm.signals +/docs/libnm/libnm.types +/docs/libnm/version.xml + /docs/api/version.xml /docs/api/settings-spec.html /docs/api/settings-spec.xml diff --git a/configure.ac b/configure.ac index 9b0fc2ddca..a082c8e20c 100644 --- a/configure.ac +++ b/configure.ac @@ -880,6 +880,8 @@ docs/libnm-glib/Makefile docs/libnm-glib/version.xml docs/libnm-util/Makefile docs/libnm-util/version.xml +docs/libnm/Makefile +docs/libnm/version.xml NetworkManager.pc examples/Makefile examples/shell/Makefile diff --git a/docs/Makefile.am b/docs/Makefile.am index fd2c82c832..5fdeff62b4 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -1,2 +1,2 @@ -SUBDIRS = libnm-glib libnm-util api +SUBDIRS = libnm-glib libnm-util libnm api diff --git a/docs/libnm/Makefile.am b/docs/libnm/Makefile.am new file mode 100644 index 0000000000..9d745b14c2 --- /dev/null +++ b/docs/libnm/Makefile.am @@ -0,0 +1,84 @@ +## Process this file with automake to produce Makefile.in +AUTOMAKE_OPTIONS = 1.6 + +# The name of the module +DOC_MODULE=libnm + +# The top-level SGML file. +DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml + +# The directory containing the source code. Relative to $(srcdir). +# gtk-doc will search all .c & .h files beneath here for inline comments +# documenting functions and macros. +DOC_SOURCE_DIR=$(top_srcdir)/libnm-core $(top_srcdir)/libnm + +# Extra options to supply to gtkdoc-scan. +SCAN_OPTIONS=--rebuild-types --rebuild-sections + +# Extra options to supply to gtkdoc-scangobj. +SCANGOBJ_OPTIONS=--type-init-func 'g_type_init();' + +# Extra options to supply to gtkdoc-mkdb. +MKDB_OPTIONS=--sgml-mode --output-format=xml + +# Extra options to supply to gtkdoc-fixref. +FIXXREF_OPTIONS= + +# Used for dependencies. +HFILE_GLOB=$(top_srcdir)/libnm-core/*.h $(top_srcdir)/libnm/*.h +CFILE_GLOB=$(top_srcdir)/libnm-core/*.c $(top_srcdir)/libnm/*.c + +# Header files to ignore when scanning. +IGNORE_HFILES= \ + crypto.h \ + nm-dbus-helpers-private.h \ + nm-device-private.h \ + nm-object-cache.h \ + nm-object-private.h \ + nm-param-spec-dbus.h \ + nm-remote-connection-private.h \ + nm-secret-agent-glue.h \ + nm-setting-private.h \ + nm-types-private.h \ + nm-utils-private.h \ + nm-vpn-plugin-glue.h + +# Images to copy into HTML directory. +HTML_IMAGES = libnm.png + +# Extra XML files that are included by $(DOC_MAIN_SGML_FILE). +content_files = version.xml + +# Other files to distribute. +extra_files = libnm.png + + +# CFLAGS and LDFLAGS for compiling scan program. Only needed +# if $(DOC_MODULE).types is non-empty. +GTKDOC_CFLAGS = \ + -I$(top_srcdir)/libnm-core \ + -I$(top_builddir)/libnm-core \ + -I$(top_srcdir)/libnm \ + -I$(top_builddir)/libnm \ + -DNM_VERSION_MAX_ALLOWED=NM_VERSION_NEXT_STABLE \ + $(GLIB_CFLAGS) \ + $(DBUS_CFLAGS) + +GTKDOC_LIBS = \ + $(top_builddir)/libnm/libnm.la \ + $(top_builddir)/libnm/libnm-vpn.la \ + $(GLIB_LIBS) + + +# include common portion ... +include $(top_srcdir)/gtk-doc.make + +EXTRA_DIST += version.xml.in + +CLEANFILES += \ + libnm-sections.txt \ + libnm-overrides.txt \ + html/* \ + tmpl/* \ + xml/* + diff --git a/docs/libnm/libnm-docs.xml b/docs/libnm/libnm-docs.xml new file mode 100644 index 0000000000..64fbbc243b --- /dev/null +++ b/docs/libnm/libnm-docs.xml @@ -0,0 +1,161 @@ + + +]> + + + + libnm Reference Manual + + for libnm &version; + The latest version of this documentation can be found on-line at + https://developer.gnome.org/libnm/1.0/. + + + + 2012-2014 + The NetworkManager Authors + + + + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free + Documentation License, Version 1.1 or any later + version published by the Free Software Foundation with no + Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. You may obtain a copy of the GNU Free + Documentation License from the Free Software + Foundation by visiting their Web site or by writing + to: + +
+ The Free Software Foundation, Inc., + 51 Franklin Street - Fifth Floor, + Boston, MA 02110-1301, + USA +
+
+
+
+ + + Overview + + libnm maps fairly closely to the actual D-Bus API that NetworkManager + provides, wrapping the remote D-Bus objects as native GObjects, + 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. + + + The following is a rough overview of the libnm object structure and + how to use the various parts of it: + + + + + + + + + + Client Object API Reference + + + + + + + + Connection and Setting API Reference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Device and Runtime Configuration API Reference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Utility API Reference + + + + + + VPN Plugin API Reference + + + + + + + Object Hierarchy + + + + API Index + + + + +
+ diff --git a/docs/libnm/libnm.png b/docs/libnm/libnm.png new file mode 100644 index 0000000000..dc00072842 Binary files /dev/null and b/docs/libnm/libnm.png differ diff --git a/docs/libnm/libnm.svg b/docs/libnm/libnm.svg new file mode 100644 index 0000000000..a0d240fae6 --- /dev/null +++ b/docs/libnm/libnm.svg @@ -0,0 +1,893 @@ + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + Propr + NMClient + Base object; provides access tonetwork device objects, activenetwork connection objects andgeneral network state information + + + + NMRemoteSettings + Retrieves, adds, and notifes of changesto network configuration objects(called NMRemoteConnections) + + NMRemoteConnection + The basic unit of networkconfiguration information,contains all settings required toconnect to a specific network. + + NMRemoteConnection + + NMRemoteConnection + + NMRemoteConnection + + + + + + + + + NMDevice + Represents a known networkinterface that may be used toconnect to a network + + nm_client_get_devices() + + + NMActiveConnection + Represents an active connectionto a specific network, usingsettings from anNMRemoteConnection,andprovided by on or more NMDeviceobjects. + + nm_active_connection_get_devices() + + + + NMDeviceWifi + + + + NMDeviceModem + + + + NMDeviceWimax + + + + NMDeviceBluetooth + + + + + + + + + NMDeviceEthernet + + + + + + nm_client_get_active_connections() + (Device subclasses) + Gets all known interfaces + Gets interfaces used by this active connection + Gets all active network connections + + Retrieve the NMRemoteConnection that providesconfiguration settings for the NMActiveConnectionby getting its object path withnm_active_connection_get_connection() and thenpassing the returned path tonm_remote_settings_get_connection_by_path() + NetworkConfiguration + Network Control + Connect to a network by callingnm_client_activate_connection() andpassing the NMDevice to use, along withthe NMRemoteConnection that containsthe settings that describe how to connectto that network + + + + NMActiveConnection + + + + NMActiveConnection + + + + + + + + + diff --git a/docs/libnm/version.xml.in b/docs/libnm/version.xml.in new file mode 100644 index 0000000000..d78bda9342 --- /dev/null +++ b/docs/libnm/version.xml.in @@ -0,0 +1 @@ +@VERSION@