Commit graph

117 commits

Author SHA1 Message Date
Dan Winship 6793a32a8c libnm: port to GDBus
Port libnm-core/libnm to GDBus.

The NetworkManager daemon continues to use dbus-glib; the
previously-added connection hash/variant conversion methods are now
moved to NetworkManagerUtils (along with a few other utilities that
are now only needed by the daemon code).
2014-09-18 11:51:09 -04:00
Dan Winship acf86f68b3 libnm-core: change connection hash tables to variants in API
In preparation for porting to GDBus, make nm_connection_to_dbus(),
etc, represent connections as GVariants of type 'a{sa{sv}}' rather
than as GHashTables-of-GHashTables-of-GValues.

This means we're constantly converting back and forth internally, but
this is just a stepping stone on the way to the full GDBus port, and
all of that code will go away again later.
2014-09-18 11:51:09 -04:00
Dan Winship 280b1e5067 libnm: merge libnm-vpn into libnm
There's not much point in keeping them separate: all existing
libnm-glib-vpn users also link against libnm-glib, and the amount of
extra code added to libnm by merging in libnm-vpn is negligible.

Additionally, nm-vpn-plugin will later need access to some
libnm-internal APIs.

So, merge them together.
2014-09-18 11:51:07 -04:00
Dan Winship 98959d5432 libnm: fix NMIP4Config/NMIP6Config addresses/routes properties
The docs for NMIP4Config:addresses and NMIP4Config:routes claimed that
they were GPtrArrays of NMIP4Address/NMIP4Route, but get_property()
was actually trying to set them the D-Bus representation type, and it
was failing anyway because it used g_value_set_boxed() on a parameter
that was declared GParamSpecPointer. Fix it to use a GPtrArray-valued
property, and set it to the right thing.

NMIP6Config did the right thing with its :addresses and :routes
properties, but was using custom types (NM_TYPE_IP6_ADDRESS_OBJECT_ARRAY and
NM_TYPE_IP6_ROUTE_OBJECT_ARRAY). Make it use G_TYPE_PTR_ARRAY instead.

nm-types.c, nm-types.h, and nm-types-private.h are now empty, and so
can be dropped.
2014-09-04 09:21:05 -04:00
Thomas Haller ef32da01fa all: add nm-core-internal.h header
Add a header file to expose private utility functions from libnm-core
that can be used by NetworkManager (core) and libnm.so. The header
is also used to give privileged access to libnm-core. Since NM links
statically, these functions are not exported and not part of public ABI.

This also removes the NM_UTILS_PRIVATE_CALL() macro and libnm.so no
longer exports nm_utils_get_private().

Before, this functionality was partly declared in nm-utils-private.h.
This was wrong because nm-utils-private.h is for functionality
entirely private to libnm-core.

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-08-22 15:22:16 +02:00
Dan Winship c5daa4c4df docs: add libnm documentation
Add docs infrastructure
2014-08-01 14:34:05 -04:00
Dan Winship 7eb0288aa0 libnm-util: move NetworkManager.h, etc, from include/ to here
NetworkManager.h, NetworkManagerVPN.h, and nm-version.h are part of
the libnm-util API, so move them to libnm-util.

include/ still contains headers that are strictly NM-internal (eg,
nm-glib-compat.h).
2014-07-15 09:44:54 -04:00
Dan Williams ca2e2a7ec8 docs: ignore a private header 2014-07-01 15:47:59 -05:00
Dan Winship 377f72a66f build: fix nm-setting-docs build in various configurations
Certain build configurations (like --enable-gtk-doc
--disable-introspection) were broken with respect to nm-setting-docs.
Fix this. Also, we don't require just gobject-introspection, we need
pygobject specifically as well.
2014-06-27 17:24:57 -04:00
Dan Winship cceb773510 docs: generate settings-spec.xml from libnm-util/nm-setting-docs.xml
Generate docs/api/settings-spec.xml via an XSLT stylesheet applied to
libnm-util/nm-setting-docs.xml.
2014-06-19 17:45:02 -04:00
Dan Williams 454cc0a168 docs: ignore private nm-test-utils.h header 2014-05-13 13:49:50 -05:00
Dan Winship 9c4d86ee80 libnm-util, libnm-glib: add versioned deprecation/availability macros
Add versioned NM_DEPRECATED_IN_* and NM_AVAILABLE_IN_* macros, and tag
new/deprecated functions accordingly. (All currently-deprecated
functions are assumed to have been deprecated in 0.9.10.)

Add NM_VERSION_MIN_REQUIRED and NM_VERSION_MAX_ALLOWED macros which
can be set to determine which versions will cause warnings.

With the current settings, external consumers of the
libnm-util/libnm-glib APIs will have MIN_REQUIRED and MAX_ALLOWED both
set to NM_VERSION_0_9_8 by default, meaning they will get warnings
about functions added in 0.9.10. NM internally sets
NM_VERSION_MAX_ALLOWED to NM_VERSION_NEXT_STABLE to ensure that it is
always allowed to use all APIs.
2014-02-13 11:24:37 -05:00
William Jon McCann 74372f9f11 docs: update documentation links
Various GNOME services moved around so links need updating.
2013-12-17 12:07:51 -06:00
Dan Williams 6a3672ec9a docs: update for Team and Generic devices 2013-11-07 16:58:29 -06:00
Dan Williams 77e50740a8 libnm-util: add Data Center Bridging (DCB) setting
Includes various fixes & cleanups from Thomas Haller.
2013-10-31 13:28:42 -05:00
Yuri Chornoivan 61de24ba35 Fix typos
https://bugzilla.gnome.org/show_bug.cgi?id=710505
2013-10-19 11:49:18 -04:00
Dan Williams a9b9330bed build: fix builddir != srcdir when building D-Bus API spec HTML 2013-08-29 13:43:03 -05:00
Dan Williams 3a5bf0517c build: always generate docs at dist time (bgo #700093)
dist tarballs shouldn't ever be released without the documentation,
and this allows us to build the tarballs with pre-generated docs
that get installed on the end system, but don't need to be built
there.  So the end system doesn't need gtk-doc installed, only
the dist system does.

https://bugzilla.gnome.org/show_bug.cgi?id=700093
2013-05-14 10:53:46 -05:00
Jiří Klimeš 76b5e24ac9 build: fix build with --enable-doc (docs/api/Makefile.am)
"./autogen.sh --enable-doc && make" produced this error:
warning: failed to load external entity "../settings-spec.xml"
../network-manager-docs.xml:57: element include: XInclude error : could not load ../settings-spec.xml, and no fallback was found

Removing settings-spec.xml from $(content_files) made the file non-DISTed but it
also removed the file as a dependency for html-build.stamp that also runs
cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
and $(DOC_MAIN_SGML_FILE) includes settings-spec.xml.

Fix that by making $(DOC_MAIN_SGML_FILE) dependent on setting-spec.xml.
2013-02-12 17:25:20 +01:00
Dan Williams a78d66bb38 build: fix distcheck when building settings specification XML
The generated settings-spec.xml should not be DIST-ed because it's
regenerated every time libnm-util changes.  That meants it gets
rebuilt during 'make' even from a dist tarball.  Thus, it shouldn't
be part of the dist tarball itself.

In addition, settings-spec.html shouldn't be included in
$(content_files) becuase this is added to EXTRA_DIST by gtk-doc.make.

Since generate-settings-spec.c the move from docs/api/ to tools/,
this started breaking distcheck even though the original Makefile
rules were wrong too.
2013-02-05 15:26:05 -06:00
Jiří Klimeš 2981953e47 tools: move generate-settings-spec to tools 2013-02-05 18:25:03 +01:00
Jiří Klimeš 029e613288 docs: generate refentry xml in addition to Docbook book xml for settings-spec
The refentry xml is used to generate manual page with settings description.

The invocation is:
generate-settings-spec <type> <output file> [<type> <output file>]
where <type> is  "book" or "refentry"
2013-02-05 18:22:33 +01:00
Jiří Klimeš c43772a854 docs: add ADSL setting to API specs 2013-01-15 12:10:10 +01:00
Thomas Graf cfff5a63d9 bridge: add bridge device type
This adds a new device type 'bridge'. Kernel devices are created
on demand.
2012-11-30 13:21:51 -06:00
Dan Williams d723457ac7 libnm-util: add NMSettingBridgePort 2012-11-30 13:21:50 -06:00
Dan Williams 8ecded9a9b libnm-util: add NMSettingBridge 2012-11-30 13:21:50 -06:00
Pavel Šimerda 1b0b943663 build: clean all files on 'make distclean' 2012-11-13 23:13:25 +01:00
Pavel Šimerda 04297230e6 build: fix gtk-doc srcdir != builddir issues 2012-11-13 22:39:53 +01:00
Pavel Šimerda e6d1fc8755 build: fix more srcdir != builddir issues 2012-11-13 22:00:28 +01:00
Dan Williams 4eb4402c01 build: fix srcdir != builddir issue 2012-11-13 14:18:04 -06:00
Pavel Šimerda faa1bcb540 build: improve documentation and test configure options
Use --enable-doc and --enable-tests instead of --with-docs and
--with-tests. This is consistent with other features and with
--enable-gtk-doc option. Support current variants as fallback.

Don't build tests unless --enable-tests is specified.
2012-11-13 20:23:06 +01:00
Dan Williams aab6de97bb docs: auto-version documentation and fix up copyright and authorship 2012-08-06 22:04:06 -05:00
Dan Williams 15cf00cc0a docs: add missing ADSL libnm-glib docs 2012-08-06 17:43:30 -05:00
Dan Williams f0886e07d7 build: fix obsolete includes during docs build 2012-08-01 12:52:15 -05:00
Dan Williams 61bb3738cb docs: ensure ADSL documentation is generated 2012-07-30 14:00:44 -05:00
Jiří Klimeš 915cfe8ce8 docs: update FSF address in license headers 2012-07-26 16:25:20 +02:00
Robert Shade 0677bf9c07 doc: fix build with build with gtk-doc < 1.15
gtk-doc < 1.15 does not handle a missing DOC_SOURCE_DIR
2012-07-02 12:29:52 -05:00
Dan Williams 54618a72e3 docs: fixups for new settings 2012-03-23 19:01:41 -05:00
Jiří Klimeš d3e37c2b9d docs: libnm-glib docs fixes for recent additions 2012-03-15 11:27:51 +01:00
Dan Williams a10a8be7c3 docs: fix 'make distcheck' API doc xslt paths
Since all.xml is a built file these days, and will contain paths
relative to $(top_srcdir)/introspection even though it's not in
that directory, it seems we need to clue xsltproc into where the
other API XML files really are.
2012-03-14 12:48:51 -05:00
Dan Williams 9296fd1ad0 docs: add Infiniband, VLAN, and Bond settings to API specs 2012-03-06 00:38:38 -06:00
Dan Winship ba4731dafd libnm-glib: remove nm-dbus-utils.[ch]
The code hasn't been used in a very long time.
2012-02-02 12:30:38 -06:00
Dan Williams 200297b617 docs: fix settings service object path name in migration guide 2011-12-19 11:24:02 -06:00
Dan Williams a6b18d746a docs: make sure libnm-glib.png gets into the dist tarball (bgo #659203) 2011-10-03 16:47:26 -05:00
Dan Williams 389c847a78 doc: fix a settings specification type 2011-08-22 18:15:41 -05:00
Dan Williams 6c901ab040 api: update version based on configure version
Instead of manually which is error-prone.
2011-08-06 11:19:33 +02:00
Dan Williams 77dba1c20b docs: update libnm-glib documentation 2011-07-02 15:52:57 -05:00
Dan Williams 16e64f071e docs: make sure WiMAX setting is documented 2011-07-02 15:47:43 -05:00
Dan Williams 1701df4b75 core: add active connection state DEACTIVATING
Not used yet, but will be when device deactivating state gets
used.  Should be 100% backwards compatible with users that don't
know about it for now.
2011-03-17 14:23:21 -05:00
Dan Williams 92b29f399b docs: add overview image of libnm-glib object relationships and use 2011-03-15 15:54:33 -05:00