Commit Graph

52 Commits

Author SHA1 Message Date
Thomas Haller
831286df30 include: use double-quotes to include our own headers
In practice, this should only matter when there are multiple
header files with the same name. That is something we try
to avoid already, by giving headers a distinct name.

When building NetworkManager itself, we clearly want to use
double-quotes for including our own headers.
But we also want to do that in our public headers. For example:

  ./a.c
    #include <stdio.h>
    #include <nm-1.h>
    void main() {
        printf ("INCLUDED %s/nm-2.h\n", SYMB);
    }

  ./1/nm-1.h
    #include <nm-2.h>

  ./1/nm-2.h
    #define SYMB "1"

  ./2/nm-2.h
    #define SYMB "2"

$ cc -I./2 -I./1 ./a.c
$ ./a.out
INCLUDED 2/nm-2.h

Exceptions to this are
  - headers in "shared/nm-utils" that include <NetworkManager.h>. These
    headers are copied into projects and hence used like headers owned by
    those projects.
  - examples/C
2017-03-09 14:12:35 +01:00
Lubomir Rintel
045de51888 docs: update years 2017-03-02 15:51:46 +01:00
Lubomir Rintel
3be4c94446 docs: don't set the online-location attribute
It causes the links to be based on a latest online version rather than
on the current one.
2016-04-08 13:10:47 +02:00
Thomas Haller
9152dec99f build: disable deprecation checks for internal compilation
For internal compilation we want to be able to use deprecated
API without warnings.

Define the version min/max macros to effectively disable deprecation
warnings.

However, don't do it via CFLAGS option in the makefiles, instead hack it
to "nm-default.h". After all, *every* source file that is for internal
compilation needs to include this header as first.
2016-04-05 22:22:58 +02:00
Thomas Haller
db80ec05ab build: rename directory "include" to "shared"
Up to now, the "include" directory contained (only) header files that were
used project-wide by libs, core, clients, et al.

Since the directory now also contains a non-header file, the "include"
name is misleading. Instead of adding yet another directory that is
project-wide, with non-header-only content, rename the "include"
directory to "shared".
2015-12-24 11:42:37 +01:00
Thomas Haller
7bf10a75db build: extract version macros from "nm-version.h" to new header file "nm-version-macros.h"
For libnm library, "nm-dbus-interface.h" contains defines like the D-Bus
paths of NetworkManager. It is desirable to have this header usable without
having a dependency on "glib.h", for example for a QT application. For that,
commit c0852964a8 removed that dependancy.

For libnm-glib library, the analog to "nm-dbus-interface.h" is
"NetworkManager.h", and the same applies there. Commit
159e827a72 removed that include.
However, that broke build on PackageKit [1] which expected to get the
version macros by including "NetworkManager.h". So at least for libnm-glib,
we need to preserve old behavior so that a user including
"NetworkManager.h" gets the version macros, but not "glib.h".

Extract the version macros to a new header file "nm-version-macros.h".
This header doesn't include "glib.h" and can be included from
"NetworkManager.h". This gives as previous behavior and a glib-free
include.

For libnm we still don't include "nm-version-macros.h" to "nm-dbus-interface.h".
Very few users will actually need the version macros, but not using
libnm.
Users that use libnm, should just include (libnm's) "NetworkManager.h" to
get all headers.
As a special case, a user who doesn't want to use glib/libnm, but still
needs both "nm-dbus-interface.h" and "nm-version-macros.h", can include
them both separately.

[1] https://github.com/hughsie/PackageKit/issues/85

Fixes: 4545a7fe96
2015-09-30 23:10:29 +02:00
Dan Winship
721e917cb6 wimax: drop WiMAX support (bgo #747846)
Even Fedora is no longer shipping the WiMAX SDK, so it's likely we'll
eventually accidentally break some of the code in src/devices/wimax/
(if we haven't already). Discussion on the list showed a consensus for
dropping support for WiMAX.

So, remove the SDK checks from configure.ac, remove the WiMAX device
plugin and associated manager support, and deprecate all the APIs.

For compatibility reasons, it is still possible to create and save
WiMAX connections, to toggle the software WiMAX rfkill state, and to
change the "WIMAX" log level, although none of these have any effect,
since no NMDeviceWimax will ever be created.

nmcli was only compiling in support for most WiMAX operations when NM
as a whole was built with WiMAX support, so that code has been removed
now as well. (It is still possible to use nmcli to create and edit
WiMAX connections, but those connections will never be activatable.)
2015-04-17 12:42:23 -04:00
Dan Winship
2d29c0527e docs: misc small fixes
Cleans up all of the warnings that aren't overly annoying to clean up.
2014-12-18 13:47:03 -05:00
Thomas Haller
b0e29b5bd3 doc: fix IGNORE_HFILES in libnm-glib
nm-dbus-helpers-private.h is a private header file to libnm-glib/.

nm-settings-connection-glue.h and nm-settings-glue.h are not part
of libnm-glib/, they are inside src/.

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-10-31 18:59:33 +01:00
Thomas Haller
8b64b8012b doc: fix IGNORE_HFILES referencing non-existing *-bindings.h files
Fixes: 8ad3ff24ad
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-10-31 18:59:33 +01: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 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
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
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
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
Jiří Klimeš
915cfe8ce8 docs: update FSF address in license headers 2012-07-26 16:25:20 +02: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 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
a6b18d746a docs: make sure libnm-glib.png gets into the dist tarball (bgo #659203) 2011-10-03 16:47:26 -05:00
Dan Williams
77dba1c20b docs: update libnm-glib documentation 2011-07-02 15:52:57 -05:00
Dan Williams
92b29f399b docs: add overview image of libnm-glib object relationships and use 2011-03-15 15:54:33 -05:00
Michael Biebl
d69d40fcb4 docs: fix link to API doc on the website 2011-03-14 00:45:00 -05:00
Dan Williams
d1a66e3434 docs: more libnm-glib docs fixes 2011-03-10 16:25:00 -06:00
Dan Williams
e726895537 docs: make sure libnm-glib docs know about introspection 2011-03-10 12:08:08 -06:00
Dan Williams
a7f66d0d80 docs: update some version strings 2011-03-10 11:50:34 -06:00
Michael Biebl
768f167347 build: fix unresolved symbols when building gtk-doc scanner with GCC 4.5 2011-03-07 10:11:46 -06:00
Dan Williams
de0101b20f docs: more docs fixups
Include NMSecretAgent too
2011-03-02 02:02:06 -06:00
Dan Williams
3b6e88d0d0 docs: explicitly list libnm-glib objects
Doesn't change the generated documentation layout but good to do
anyway.
2011-02-28 11:32:05 -06:00
Dan Williams
2140dad5e0 core: consolidate mobile broadband device types
These days more and more devices are showing up that support a
number of different access technology families in the same hardware,
like Qualcomm Gobi (CDMA and GSM), Pantech UM190 (CDMA and GSM),
Pantech UML290 (CDMA and LTE), LG VL600 (CDMA and LTE), Sierra
320U (GSM and LTE), etc.  The previous scheme of having device
classes based on access technology family simply cannot handle
this hardware and attempting to add LTE to both the CDMA and GSM
device classes would result in a bunch of code duplication that
we don't want.  There's a better way...

Instead, combine both CDMA and GSM device classes into a generic
"Modem" device class that provides capabilities indicating what
access technology families a modem supports, and what families
it supports immediately without a firmware reload.  (Gobi devices
for example require a firmware reload before they can switch
between GSM and CDMA).  This provides the necessary flexibility
to the client and allows us to keep the API stable when the
same consolidation change is made in ModemManager.

The current code doesn't yet allow multi-mode operation internally,
but the API is now what we want it to be and won't need to be
changed.
2011-02-25 10:16:17 -06:00
Dan Williams
12908c8a1a docs: update libnm-glib docs for WiMAX 2011-01-28 17:41:59 -06:00
Dan Williams
b3959aefa3 core: rename NMSysconfigConnection -> NMSettingsConnection 2011-01-26 11:38:12 -06:00
Dan Williams
b7259fd2a8 Merge remote branch 'origin/master' into rm-userset 2011-01-25 15:41:03 -06:00
Dan Williams
d884aadc3d doc: fix distcheck by cleaning generated files
Today, for some reason, the generated files are no longer cleaned up
or ignored during distcheck, so clean them up ourselves.  Not sure what
changed.
2011-01-25 12:40:18 -06:00
Daniel Gnoutcheff
7f8dc06dff remove nm-settings-connection-interface
NMSettingsConnectionInterface was created to allow the daemon and NM
clients to have common code that handled both system and user
connections. It's no longer needed now that user settings services are
gone.

This concludes the flattening of libnm-glib.
2010-08-06 20:53:37 -04:00
Daniel Gnoutcheff
c2f4b10ab5 libnm-glib: remove NMSettingsInterface
NMSettingsInterface was created to allow code to operate on a settings
service without caring about what kind of settings service it was. Now
that we have just one settings service, this is no longer needed.

More work needs to be done in order to handle errors and permission
settings in an appropriate manner.
2010-08-06 13:05:47 -04:00
Daniel Gnoutcheff
aee48901f4 Merged NM{Exported,Sysconfig}Connection
In continuation of the theme, the removal of user settings services
means that the distinction between NMSysconfigConnection and
NMExportedConnection is no longer needed. Merge NMExportedConnection
into NMSysconfigConnection.
2010-08-06 13:05:46 -04:00
Daniel Gnoutcheff
da6816a03b nm-glib/DBus: merge nm-settings{,-system} iface
Much as with nm-remote-settings and nm-remote-settings-system, the
removal of user settings services means there is no more need for
separate interfaces for user and system settings services.

In libnm-glib, this commit merges everything in
nm-settings-system-interface into nm-settings-interface.  Alongside with
that, we merge everything in the
org.freedesktop.NetworkManagerSettings.System DBus interface into
org.freedesktop.NetworkManagerSettings.
2010-08-06 13:05:46 -04:00
Daniel Gnoutcheff
4d1681ef09 libnm-glib: merge nm-remote-settings{,-system}
Originally, nm-remote-settings was used by the daemon to monitor the
user settings service, and its subclass nm-remote-settings-system was
used by NM clients to monitor the system settings service. With user
settings services gone, this distinction is no longer needed. Simplify
things a bit and merge the classes.
2010-08-06 13:05:46 -04:00
Dan Williams
f5adc0f62b doc: rearrange libnm-glib doc sections 2010-04-08 14:00:08 -07:00
Dan Williams
8247ecc524 doc: fix libnm-glib doc generation 2010-04-08 13:56:37 -07:00
Dan Williams
f355259f7e doc: regenerate docs when sources change 2009-09-28 16:01:21 -07:00
Dan Williams
58fcc8efe6 libnm-glib: libnm_glib -> libnm-glib
Bothered me for a long time; now that we've bumped the soname, we can
rename the library too.
2009-08-26 13:07:35 -05:00
Dan Williams
0877323e8d libnm-glib: add NMIP6Config object that proxies device's IP6 config 2009-08-20 11:30:52 -05:00