Commit graph

319 commits

Author SHA1 Message Date
Thomas Haller 14bb9419a0 examples: add README for python-networkmanager NetworkManager library 2015-12-07 16:06:46 +01:00
Thomas Haller 5b732c3b9f examples: add README for examples/python/gi 2015-12-07 15:59:20 +01:00
Dan Williams 4db851f852 libnm/libnm-glib: add NMClient.get_all_devices() method and AllDevices property
Mirror new NetworkManager API to return both real devices and
device placeholders.
2015-12-04 12:16:41 +01:00
Thomas Haller 8d1233e67e python: use gi.require_version() in generate-setting-docs.py and examples
gi now emits a warning when not loading a specific library
version [1]:

  ./generate-setting-docs.py:21: PyGIWarning: NM was imported without specifying a version first. Use gi.require_version(NM, 1.0) before import to ensure that the right version gets loaded.
    from gi.repository import NM, GObject

Seems require_version() is reasonably old to just always use it without
breaking on older versions [2].

[1] Related: https://bugzilla.gnome.org/show_bug.cgi?id=727379
[2] https://git.gnome.org/browse/pygobject/commit/?id=76758efb6579752237a0dc4d56cf9518de6c6e55
2015-11-11 10:56:05 +01:00
Beniamino Galvani bd4df767c6 examples: add python GI example for retrieving LLDP neighbors 2015-10-12 14:44:31 +02: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
Jiří Klimeš 8e3ae81566 examples: generate UUID in add-wifi-eap-connection.py
so that it can be run multiple times.
2015-09-17 14:49:04 +02:00
Jiří Klimeš a25bbde641 examples: add a python example for adding WPA PSK Wi-Fi connection
and rename add-system-wifi-connection.py to add-wifi-eap-connection.py
2015-09-17 14:46:19 +02:00
Jiří Klimeš cb64067b7a examples: add flags and mode parsing to show-wifi-networks.[lua|py] 2015-08-24 12:33:04 +02:00
Dan Williams d1d048c93d examples: add python+dbus example to print active access point 2015-07-08 09:31:22 -05:00
Jiří Klimeš eebfe56a90 examples: python: add an D-Bus example creating and activating a bond 2015-06-23 15:06:31 +02:00
Jiří Klimeš 1e923cb923 examples: add wifi-hotspot.py script to Makefile.am
Fixes: 1af8e2f132
2015-06-23 15:04:43 +02:00
Dan Williams 1af8e2f132 examples: add DBus + Python example for starting/stopping a WiFi hotspot 2015-05-18 15:11:12 -05:00
Petr Vorel 1e646f30f2 examples: bash: print errors int stderr
+ whitespace

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
2015-03-18 15:07:59 -05:00
Srdjan Grubor 0e1fe1fe4e examples: update Python NM example to print detailed connection state
Current Python NM example has a very crude connection state output
and the global NM connectivity is not used in them either.

https://bugzilla.gnome.org/show_bug.cgi?id=746045
2015-03-12 10:39:00 +01:00
Petr Vorel 4213c17b44 examples: python: print into stderr
https://mail.gnome.org/archives/networkmanager-list/2015-March/msg00024.html

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
2015-03-10 12:17:59 +01:00
Thomas Haller 2171084378 examples/trvial: replace tabs by whitespace in python example 2015-03-10 12:17:23 +01:00
Jiří Klimeš 6b5de0ab5f examples: add a Python example deactivating connections by type (bgo #732826)
https://bugzilla.gnome.org/show_bug.cgi?id=732826
2015-03-05 15:59:52 +01:00
Jiří Klimeš 489f80e3c0 examples: add a Lua example deactivating connections by type (bgo #732826)
https://bugzilla.gnome.org/show_bug.cgi?id=732826
2015-03-05 15:59:32 +01:00
Jiří Klimeš 37becd2ee6 examples: add a Lua example setting user name for a VPN connection 2015-02-11 13:34:38 +01:00
Jiří Klimeš 21c9c7e21c examples: add a Lua example getting IP configuration of a device
Unfortunately, there is a bug in lgi library causing the incorrect values
being returned and the example crashes. I am going to send a patch to lgi
to fix the issues.
2015-02-10 10:35:41 +01:00
Jiří Klimeš f124848b60 examples: add a Lua example showing basic NetworkManager information 2015-02-09 10:11:18 +01:00
Jiří Klimeš 3d991b8e32 examples: add a Lua example for getting Wi-Fi access points 2015-02-09 10:11:12 +01:00
Jiří Klimeš 6be3d7cbad examples: add some examples in Lua using lgi library
[libnm]     https://developer.gnome.org/libnm/1.0/
[lgi]       https://github.com/pavouk/lgi
[lgi-guide] https://github.com/pavouk/lgi/blob/master/docs/guide.md

On most distribution just install lua-lgi.

Note:
There is a bug in lgi. It doesn't handle GPtrArray corectly. It results in
crashing on list-devices.lua and list-connections.lua.
I will send a patch to lgi to fix the issue.
2015-01-30 14:41:13 +01:00
Dan Winship 8de1bec803 dispatcher: fix ifcfg-rh example dispatcher script (rh #1160013)
Routing table entries for a device get flushed when the device is
deactivated, but rules table entries don't, so we have to flush them
by hand.
2015-01-27 13:51:45 -05:00
Dan Winship f79d62692e ifcfg-rh: allow handling complex routing rules via dispatcher (rh #1160013)
If a connection has an associated "rule-NAME" or "rule6-NAME" file,
don't try to read in the routes, since NetworkManager won't be able to
parse them correctly. Instead, log a warning that they will need to be
applied via a dispatcher script, and provide a script that would do
that in examples/dispatcher/.
2015-01-12 09:53:24 -05:00
Dan Winship 66936decfa examples: update python examples
Update the raw D-Bus python examples to use newer APIs where
appropriate (and split the add-connection example into 1.0-only and
0.9-compatible versions). Update the gi-based python examples for the
various API changes since they were last updated.

Also add a comment to the ruby add-connection example pointing out
that it's still using the old settings APIs.
2014-11-15 09:31:49 -05:00
Dan Winship 3bfb163a74 all: consistently include config.h
config.h should be included from every .c file, and it should be
included before any other include. Fix that.

(As a side effect of how I did this, this also changes us to
consistently use "config.h" rather than <config.h>. To the extent that
it matters [which is not much], quotes are more correct anyway, since
we're talking about a file in our own build tree, not a system
include.)
2014-11-13 17:18:42 -05:00
Dan Winship 3f30c6f1c2 libnm-core: extract NMSettingIPConfig superclass out of IP4, IP6 classes
Split a base NMSettingIPConfig class out of NMSettingIP4Config and
NMSettingIP6Config, and update things accordingly.

Further simplifications of now-redundant IPv4-vs-IPv6 code are
possible, and should happen in the future.
2014-11-07 07:49:40 -05:00
Thomas Haller 0923769285 test,examples: fix scripts to avoid 'has_key' for Python 3
'has_key' on Dictionaries is removed from Python3 in favor of 'in'.

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-10-31 16:39:00 +01:00
Dan Winship 6ae4224850 libnm: change GSList to GPtrArray in libnm methods
libnm mostly used GPtrArrays in its APIs, except that arrays of
connections were usually GSLists. Fix this and make them GPtrArrays
too (and rename nm_client_list_connections() to
nm_client_get_connections() to match everything else).
2014-10-28 17:17:17 -04:00
Dan Winship 6f3d1f9526 libnm: merge NMRemoteSettings into NMClient
Make NMRemoteSettings internal and have NMClient wrap all of its APIs,
just like it does with NMManager.
2014-10-10 12:40:19 -04:00
Dan Winship 2237ea3ddb libnm: make sync/async APIs more GLib-like
Make synchronous APIs take GCancellables, and make asynchronous APIs
use GAsyncReadyCallbacks and have names ending in "_async", with
"_finish" functions to retrieve the results.

Also, make nm_client_activate_connection_finish(),
nm_client_add_and_activate_finish(), and
nm_remote_settings_add_connection_finish() be (transfer full) rather
than (transfer none), because the refcounting semantics become
slightly confusing in some edge cases otherwise.
2014-09-25 09:29:20 -04:00
Dan Winship 6ca10677d6 libnm: merge saved and unsaved connection methods
Merge nm_remote_settings_add_connection() and
nm_remote_settings_add_connection_unsaved(), and likewise
nm_remote_connection_commit_changes() and
nm_remote_connection_commit_changes_unsaved(), by adding a boolean
flag to each saying whether to save to disk.
2014-09-25 09:29:20 -04:00
Jiří Klimeš 4359e556e4 tui,examples: accept null SSID gracefully
Signed-off-by: Jiří Klimeš <jklimes@redhat.com>

https://bugzilla.gnome.org/show_bug.cgi?id=736802
2014-09-19 09:07:16 -04:00
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
Jiří Klimeš 85909d080f examples: fix python GI examples to work after libnm changes 2014-09-05 13:48:56 +02:00
Dan Winship 9e5ddb5830 examples: port dbus-glib-based examples to gdbus
Port the dbus-glib-based examples to GDBus.

Also, don't use libnm in them at all; there's not much point in
examples that use the D-Bus API directly if they're just going to fall
back to libnm for the hard stuff... (And also, this avoids the problem
that GDBus uses GVariant, while the libnm-core APIs currently still
use GHashTables.)

Also fix up some comment grammar and copyright style, and add emacs
modelines where missing.

Also rename the existing GDBus-based examples to have names ending in
"-gdbus", not "-GDBus", since there's no reason to gratuitously
capitalize here.
2014-09-04 18:19:22 -04:00
Dan Winship 3e5b3833aa libnm: change empty-GPtrArray-return semantics
libnm functions that return GPtrArrays of objects had a rule that if
the array was empty, they would return NULL rather than a 0-length
array. As it turns out, this is just a nuisance to clients, since in
most places the code for the non-empty case would end up doing the
right thing for the empty case as well (and where it doesn't, we can
check "array->len == 0" just as easily as "array == NULL"). So just
return the 0-length array instead.
2014-09-04 09:21:05 -04:00
Dan Winship 20dc44bda9 libnm: drop NM_TYPE_SSID, use G_TYPE_BYTES
Make NMAccessPoint:ssid be G_TYPE_BYTES and update the corresponding
APIs accordingly.
2014-09-04 09:21:04 -04:00
Dan Winship 3fbabde4c3 libnm-core: replace GByteArray with pointer + length in some APIs
APIs that take arbitrary data should take it in the form of a pointer
and length, not a GByteArray, so that you can use them regardless of
what format you have the data in (GByteArray, GBytes, plain array,
etc).
2014-09-04 09:20:11 -04:00
Dan Winship 773d3f0ab6 libnm-core: rename NMConnection to/from_hash methods
Rename nm_connection_to_hash() to nm_connection_to_dbus(), and
nm_connection_new_from_hash() to nm_connection_new_from_dbus(). In
addition to clarifying that this is specifically the D-Bus
serialization format, these names will also work better in the
GDBus-based future where the serialization format is GVariant, not
GHashTable.

Also, move NMSettingHashFlags to nm-connection.h, and rename it
NMConnectionSerializationFlags.
2014-09-04 09:17:36 -04:00
Dan Winship e1ba13a426 libnm-core, libnm, core: make NMConnection an interface
The fact that NMRemoteConnection has to be an NMConnection and
therefore can't be an NMObject means that it needs to reimplement bits
of NMObject functionality (and likewise NMObject needs some special
magic to deal with it). Likewise, we will need a daemon-side
equivalent of NMObject as part of the gdbus port, and we would want
NMSettingsConnection to be able to inherit from this as well.

Solve this problem by making NMConnection into an interface, and
having NMRemoteConnection and NMSettingsConnection implement it. (We
use some hacks to keep the GHashTable of NMSettings objects inside
nm-connection.c rather than having to be implemented by the
implementations.)

Since NMConnection is no longer an instantiable type, this adds
NMSimpleConnection to replace the various non-D-Bus-based uses of
NMConnection throughout the code. nm_connection_new() becomes
nm_simple_connection_new(), nm_connection_new_from_hash() becomes
nm_simple_connection_new_from_hash(), and nm_connection_duplicate()
becomes nm_simple_connection_new_clone().
2014-08-16 10:17:53 -04:00
Dan Winship 57e802f3aa libnm: port NMRemoteSettings to NMObject
NMRemoteSettings duplicates a bunch of NMObject's functionality that
it doesn't need to. In libnm-glib, it wouldn't have been possible to
port NMRemoteSettings to NMObject without breaking ABI, but now in
libnm we can do that.

As a side effect of this, NMRemoteSettings gains a "connections"
property, and "connection-added" and "connection-removed" signals
(with the former replacing the old "new-connection" signal). This also
removes the "connections-loaded" signal, since the connections will
now always be loaded (via the initialization of the "connections"
property) during init()/init_async().

Also, this removes NMRemoteConnection's "removed" signal, since it's
redundant with the new NMRemoteSettings::connection-removed (and
having the signal on NMRemoteSettings instead is more consistent with
other objects).
2014-08-07 15:43:43 -04:00
Dan Winship 8ce06b814c libnm: synchronize NMClient and NMRemoteSettings "is NM running" properties
Rename NMClient:manager-running and NMRemoteSettings:service-running
to both be :nm-running.
2014-08-07 15:43:43 -04:00
Dan Winship d0b05b34d5 libnm: add NetworkManager.h, disallow including individual headers
Add NetworkManager.h, which includes all of the other NM header, and
require all external users of libnm to use that rather than the
individual headers.

(An exception is made for nm-dbus-interface.h,
nm-vpn-dbus-interface.h, and nm-version.h, which can be included
separately.)
2014-08-01 14:34:40 -04:00
Dan Winship 3ddce74803 libnm: rename NetworkManager.h and NetworkManagerVPN.h
"NetworkManager.h"'s name (and non-standard capitalization) suggest
that it's some sort of high-level super-important header, but it's
really just low-level D-Bus stuff. Rename it to "nm-dbus-interface.h"
and likewise "NetworkManagerVPN.h" to "nm-vpn-dbus-interface.h"
2014-08-01 14:34:40 -04:00
Dan Winship 258e74eb0c libnm: make the the use of GInitable mandatory
Remove _nm_object_ensure_inited(), etc; objects that implement
GInitable are now mandatory-to-init().

Remove constructor() implementations that sometimes return NULL; do
all the relevant checking in init() instead.

Make nm_client_new() and nm_remote_settings_new() take a GCancellable
and a GError**.
2014-08-01 14:34:40 -04:00
Dan Winship f441cf2b90 libnm: consistently use "INTERFACE" rather than "IFACE" in macros
Most D-Bus interface name macros used "INTERFACE" in their name (eg,
NM_DBUS_INTERFACE), but a few used "IFACE" instead (eg,
NM_DBUS_IFACE_SETTINGS). Make them consistent.
2014-08-01 14:34:06 -04:00
Dan Winship a7c4d53d03 all: port everything to libnm
Since the API has not changed at this point, this is mostly just a
matter of updating Makefiles, and changing references to the library
name in comments.

NetworkManager cannot link to libnm due to the duplicated type/symbol
names. So it links to libnm-core.la directly, which means that
NetworkManager gets a separate copy of that code from libnm.so.
Everything else links to libnm.
2014-08-01 14:34:05 -04:00
Dan Winship 30c74c6007 build: more srcdir!=builddir fixes
nm-version.h was getting disted, making srcdir!=builddir work for
tarball builds, but not for git builds.

Also, remove "-I${top_builddir}/include" from all Makefile.ams, since
there's nothing generated in include/ any more.
2014-07-15 11:37:19 -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 5a4e42bc51 examples: add Python dbus example indicating if WWAN is the default connection 2014-06-20 10:54:03 -05:00
Dan Williams e8fb3864d1 examples: add Python D-Bus and GI examples for updating IPv4 setting method 2014-06-10 16:20:35 -05:00
Jiří Klimeš b4544182a2 examples: fix get-active-connections-dbus-glib.c example 2014-06-09 10:16:09 +02:00
Thomas Haller b633711572 libnm-glib: don't use deprecated nm_access_point_get_hw_address()
nm_access_point_get_hw_address() is already deprecated since
pre-0.9.0-beta3 (f30e15a04d). However,
it also is defined as NM_DEPRECATED_IN_0_9_10, because there
are no deprecated macros for previous version.

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-06-07 11:19:02 +02:00
Jiří Klimeš 98ae6e06d2 all: g_type_init() has been deprecated in GLib 2.35.0
g_type_init() deprecation:
https://bugzilla.gnome.org/show_bug.cgi?id=686161
2014-05-27 16:58:21 +02:00
Dan Williams b77b7510d6 examples: update 70-wifi-wired-exclusive.sh (bgo #513488)
Tighten up with suggestions from  Johannes Buchner and mention
his contribution.

Also fixes operation with current nmcli since it changed from
"802-3-ethernet" -> "ethernet" and thus the script was broken.

https://bugzilla.gnome.org/show_bug.cgi?id=513488
2014-04-28 17:07:02 -05:00
Thomas Haller 2748bcfebf examples: fix qt demo to work without STL support
The function toStdString() is only available when QT was
compiled with STL support. The configure script does
not check STL support and might build the QT examples
even if toStdString() is not available.

Fix this, by not using the function.

This fixes the previous commit f73e3669b3
that I pushed accidentally.

https://bugzilla.gnome.org/show_bug.cgi?id=727608

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-04-04 23:20:05 +02:00
Thomas Haller f73e3669b3 examples: fix qt demo to work without STL support
The function toStdString() is only available when QT was
compiled with STL support. The configure script does
not check STL support and might build the QT examples
even if toStdString() is not available.

Fix this, by not using the function.

https://bugzilla.gnome.org/show_bug.cgi?id=727608

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-04-04 17:06:08 +02:00
Jiří Klimeš 7211d82f77 examples: use correct Mbit/s for bitrates 2014-04-01 15:15:18 +02:00
Jiří Klimeš 524658f8a3 examples: fix Makefile.am to include all Python examples for distribution 2014-03-07 19:54:49 +01:00
Jiří Klimeš 3e44e7a9f8 example: simplify get-active-connections.py by using ID and Type properties 2014-03-05 16:17:13 +01:00
Jiří Klimeš 550ce1e631 examples: add a GOI Python example for getting active connections 2014-03-03 15:15:08 +01:00
Jiří Klimeš f24eee5ee3 examples: also print type of active connections 2014-03-03 14:28:51 +01:00
Jiří Klimeš d96d242bc6 examples: a Python GOI example for adding connections persistent vs. not saved 2014-01-24 12:24:01 +01:00
Jiří Klimeš 85272df6eb examples: update get_ips.py python example for DNS information 2014-01-23 12:56:45 +01:00
Jiří Klimeš 68fe50ff3a examples: add an python example (using GI) getting device IPs 2014-01-16 17:37:16 +01: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
Jiří Klimeš aa54604f59 examples: update examples for new device types 2013-11-29 09:29:56 +01:00
Thomas Haller 97935382f4 coverity: fix various warnings detected with Coverity
These are (most likely) only warnings and not severe bugs.
Some of these changes are mostly made to get a clean run of
Coverity without any warnings.

Error found by running Coverity scan

https://bugzilla.redhat.com/show_bug.cgi?id=1025894

Co-Authored-By: Jiří Klimeš <jklimes@redhat.com>
Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-11-13 15:29:24 +01:00
Thomas Haller 3eb1d5e902 core: cleanup freeing of glib collections of pointers
When freeing one of the collections such as GArray, GPtrArray, GSList,
etc. it is common that the items inside the connections must be
freed/unrefed too.

The previous code often iterated over the collection first with
e.g. g_ptr_array_foreach and passing e.g. g_free as GFunc argument.
For one, this has the problem, that g_free has a different signature
GDestroyNotify then the expected GFunc. Moreover, this can be
simplified either by setting a clear function
(g_ptr_array_set_clear_func) or by passing the destroy function to the
free function (g_slist_free_full).

Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-10-22 19:53:57 +02:00
Jiří Klimeš f820fbeeb3 examples: add an python example (using GI) showing Wi-Fi networks 2013-09-26 16:30:23 +02:00
Jiri Popelka a20fd994f4 examples: use GLib.MainLoop instead of deprecated GObject.MainLoop in python
jklimes:
made the change for new firewall-zone.py example as well.
2013-09-24 13:33:37 +02:00
Jiří Klimeš 8a04ab9135 examples: group python examples - dbus vs. gi
Move examples using dbus-python ('dbus' module) and GObject introspection into
their own directories.
2013-09-24 12:52:33 +02:00
Jiří Klimeš 217cb5fbca examples: add a python example getting/setting zone property using GI 2013-09-24 12:48:55 +02:00
Dan Winship bfce3f7dc8 build: switch from $(INCLUDES) to $(AM_CPPFLAGS) to make automake happy
Unfortunately, $(AM_CPPFLAGS) gets overridden by per-target _CPPFLAGS
variables, which $(INCLUDES) did not, so this requires some additional
changes.

In most places, I have just gotten rid of the per-target _CPPFLAGS
variables; in directories with a single target, the per-target
variable is unnecessary, and in directories with multiple targets, the
per-target variable is often undesirable, since it forces some files
to be compiled twice, even though there ends up being no difference
between the two files.
2013-08-22 11:49:16 -04:00
Thomas Haller 471fed3859 trivial: minor code cleanup in examples/python
There where cases, where TAB was mixed with SPACES. Replace TAB with SPACES.
Additionally, make the script nm-state.py executable

Signed-off-by: Thomas Haller <thaller@redhat.com>
2013-08-06 13:48:02 -05:00
Jiří Klimeš 8de9bfcf7d examples: update 70-wifi-wired-exclusive.sh for new nmcli syntax 2013-07-15 15:52:23 +02:00
Pavel Šimerda 5277719dce trivial: add gitignore for qt examples 2013-04-29 14:14:11 +02:00
Martin Pitt 6226fb9b59 libnm-util: Fix transfer annotations of nm_{connection,setting}_need_secrets()
The various need_secrets() implementation do allocate a fresh GPtrArray, but
add static strings to them without dup'ing. Thus callers must _not_ free the
array elements, only the array itself. Adjust documentation and annotations
accordingly.

Also adjust the corresponding comment in the goi-list-connections.py example.

https://bugzilla.gnome.org/show_bug.cgi?id=698175
2013-04-19 09:43:56 -04:00
Jiří Klimeš 82fb1978a4 all: use G_VALUE_INIT to initialize GValue variables
It makes the initializations more explicit.
G_VALUE_INIT is available since glib 2.30, and NM now require glib >= 2.32
2013-03-25 08:41:18 +01:00
Dan Winship 279a347abf examples: remove GLIB_CHECK_VERSION checks from GDBus examples 2013-02-26 13:07:32 +01:00
Jiří Klimeš 8a9759af4b examples: fix nm-state.py example 2012-12-07 15:13:22 +01:00
Jiří Klimeš 8a0e928aed cli/examples: NM_802_11_MODE_AP mode is not valid for NMAccessPoint objects 2012-11-01 15:40:27 +01:00
Colin Walters 1977fb6c49 build: clean up GLib-related pkg-config usage (bgo #687218)
We had separate checks for glib-2.0, gobject-2.0, gmodule-2.0, and
gio-unix-2.0.  It doesn't make sense to link a binary against all 4
because gio-unix-2.0 depends on glib-2.0 and gobject-2.0.  Doing this
actually breaks things in unusual circumstances.

Generally, few bits of NM actually just use glib, and not gio.  We
might as well coalesce those requirements together, even if it means
in some cases we "overlink".  Additionally, I chose for now to fold
gmodule-2.0 in as well, even though many fewer programs need it.  The
cost of overlinking is quite small.

The benefit of this is less repeated junk in Makefile.am, as well as
more centralized control over GLib.  A followup patch will allow us to
set -DGLIB_VERSION_MIN_REQUIRED in just one place, rather than having
to replicate it 4 times.

The NM configure is still suboptimal - for example, libpolkit-1
depends on gio-2.0, so really we should determine the compiler flags
all in one pass.  But it doesn't matter too much for now.
2012-10-31 21:08:18 +01:00
Jan Luebbe f9c72dee3e wifi: support ap-mode with wpa_supplicant
A new value for NM80211Mode is introduced (NM_802_11_MODE_AP) and the
new mode is passed to wpa_supplicant analogous to adhoc-mode.
The places which need to know the interface mode have been extended to
handle the new mode.

If the configuration does not contain a fixed frequency, a channel is
selected the same way as with adhoc-mode before.
2012-10-17 12:08:11 -05:00
Jiří Klimeš 784af22159 examples: fix python example file names in EXTRA_DIST 2012-09-24 13:22:24 +02:00
Jiří Klimeš 033e8d2a77 examples: fix add-system-connection.py -> add-connection.py rename
It fixes 'make dist' that fails otherwise.
Found by pavlix.
2012-09-24 12:59:09 +02:00
Dan Williams aaa5d2f70f examples: add dispatcher example for exclusive wired/wifi 2012-09-20 10:19:11 -05:00
Jiří Klimeš ef4b0f1d77 examples: add a shell example listing active Wi-Fi networks on Wi-Fi devices 2012-09-03 11:57:49 +02:00
Jiří Klimeš 02478a807d examples: add a shell example for disconnecting devices 2012-08-31 14:24:44 +02:00
Jiří Klimeš 9d3fd87dd2 examples: port update-secrets example to NM 0.9 API 2012-08-29 10:13:06 +02:00
Jiří Klimeš 3b3060f2a5 examples: add IP converting functions and rename add-system-connection.py 2012-08-24 12:50:50 +02:00
Jiří Klimeš 3fe99e7ebf examples: update examples for new device types 2012-08-24 09:48:19 +02:00
Jiří Klimeš 495fae7a7b examples: add a python GObject Introspection example
It demonstrates getting NMIP4Config object after activating a device.
2012-06-13 13:28:43 +02:00
Dan Williams 53f6539f54 examples: add simply python GObject Introspection example
Unfortunately since libnm-glib/libnm-util make heavy use of
GHashTable and GValue, functions that deal with these types
can't be used from Python when using GObject Introspection,
since pygobject can't handle conversion between python types
and GValue/GHashTable very well.  You'll likely encounter
assertions like:

ERROR:pygi-argument.c:1755:_pygi_argument_to_object: assertion failed: (g_type_info_get_tag (key_type_info) != GI_TYPE_TAG_VOID)
Aborted
2012-06-11 14:46:33 -05:00
Colin Walters 74ec56d956 build: fix srcdir != builddir for new generated headers 2012-02-22 16:27:28 -06:00
Jiří Klimeš 0b57cc68fd examples: fix dependency on GDBus (it's available only in GLib >= 2.26) 2012-02-14 09:03:21 +01:00
Jiří Klimeš 0c83e6e3b1 examples: add C example for monitoring overall NetworkManager state 2012-02-13 15:41:35 +01:00
Jiří Klimeš 38382770aa examples: add C examples for monitoring whether NM runs
- the first uses dbus-glib and D-Bus "NameOwnerChanged" signal directly
- the second uses GIO's g_bus_watch_name()
- the third uses Qt and QDBusServiceWatcher class
2012-02-03 11:55:46 +01:00
Colin Walters dab7dfaf35 build: fix srcdir != builddir
nm-version.h is in ${top_builddir}/include.
2012-01-09 14:20:36 -06:00
Jiří Klimeš 23839887ac examples: add a shell example for listing devices 2011-12-09 10:24:59 +01:00
Jiří Klimeš b366ebe321 examples: add some examples in shell 2011-12-08 16:36:37 +01:00
Thomas Graf 5b7503e95e core: use nm_connection_get_setting_<type>() whenever possible
Leads to shorter, easier to read code and improves type casting safety.

Signed-off-by: Thomas Graf <tgraf@redhat.com>
2011-12-06 16:06:43 -06:00
Jiří Klimeš 77ef5e8676 examples: add a few examples in ruby 2011-11-29 16:20:04 +01:00
Thomas Jarosch 1453abbebc test: add missing return values
Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
2011-10-10 16:02:27 -05:00
Jiří Klimeš f95d503680 examples: correct a comment in list-devices.py example 2011-09-20 18:13:32 +02:00
Jiří Klimeš ad4b8777e4 examples: fix list-connections.py to work with 0.9's GetSecrets() API 2011-09-20 18:07:25 +02:00
Dan Williams e92043c4d5 examples: add python example for listing devices 2011-09-15 11:13:38 -05:00
Dan Williams bf89da140c examples: fix up active connection example 2011-08-06 10:44:50 +02:00
Dan Williams c957fdfb52 examples: make some examples executable 2011-08-05 15:55:51 +02:00
Dan Williams dab37276d2 examples: new example for printing active connection list 2011-08-05 15:55:14 +02:00
Jiří Klimeš 096a1fcdc9 examples: add a Qt example for setting manual IPv4 addresses into a connection 2011-06-08 19:18:53 +02:00
Eckhart Wörner ff0ab192b9 examples: add another Qt example for listing connections 2011-04-20 19:49:41 -05:00
Eckhart Wörner f8aa9f38da examples: add some Qt examples and build infrastructure 2011-04-20 19:48:32 -05:00
Dan Williams d98f3f226a examples: move glib examples to a subdir 2011-04-20 19:25:50 -05:00
Dan Williams 3b0916d6f6 examples: rename another example 2011-04-20 19:15:33 -05:00
Dan Williams 4812fef794 examples: rename an example 2011-04-20 19:14:03 -05:00
Michael Biebl 530f143adf use /usr/bin/env instead of /bin/env 2011-03-29 01:00:47 +02:00
Dan Williams 36294ddbce examples: port system wifi example to NM 0.9 2011-03-02 23:37:22 -06:00
Dan Williams 526b2d0e6d examples: simplify system wifi connection example 2011-03-02 23:36:38 -06:00
Dan Williams 56bbc139bd examples: new example for adding system WPA EAP-TLS wifi connection 2011-03-02 23:36:07 -06:00
Dan Williams b599e3e5dc libnm-util: simplify nm_utils_ssid_to_utf8()
It's always used with a GByteArray anyway, as are most
functions in nm-utils.h.  Even better, we can skip the
memcpy since it turns out to be pointless.
2011-02-23 11:24:58 -06:00
Dan Williams 8b2a274660 examples: fix distcheck 2011-02-16 16:36:22 -06:00
Dan Williams 74f25416fe examples: add an example for adding a new connection with libnm-glib 2011-02-15 12:23:05 -06:00
Dan Williams 98d5da84aa examples: rename add-connection-glib 2011-02-15 12:09:25 -06:00
Dan Williams ab3816ee21 examples: fix up add-connection-glib for recent API changes
AddConnection returns the object path of the new connection.
2011-02-15 12:06:13 -06:00
Dan Williams 6d344a43e9 Merge remote-tracking branch 'origin/rm-userset'
There; it's merged.  Yay!
2011-02-12 22:51:12 -06:00
Jiří Klimeš d4b79f8b04 examples: add update secrets example 2011-01-31 14:04:04 +01:00
Dan Williams e68e27aa75 libnm-util: add 'flags' argument to nm_connection_to_hash() and nm_setting_to_hash()
Simplifies code internally, and makes it easier for clients as well in
some cases where they want to control what ends up in the resulting
hash and what does not.
2011-01-26 14:14:37 -06:00
Dan Williams f9ceafd4a1 Merge remote branch 'origin/master' into rm-userset 2011-01-12 15:46:37 -06:00
Jiří Klimeš 5705850779 examples: add C example showing APs' information 2010-12-17 13:42:07 +01:00
Jiří Klimeš a6dccad94c examples: trivial comment fix 2010-12-13 17:13:16 +01:00
Jiří Klimeš 1beb2632a0 examples: fix double free() error in get-active-connections 2010-12-13 16:36:46 +01:00
Jiří Klimeš ca6e6b620d examples: add C examples for listing connections from system settings service 2010-12-13 16:18:35 +01:00
Dan Williams e821e61992 examples: update comments 2010-12-06 12:27:50 -06:00
Dan Williams c602487ff3 test: add C example for printing active connection details 2010-12-06 12:14:06 -06:00
Dan Williams fd3e8e4576 examples: build C examples 2010-12-06 12:12:52 -06:00
Dan Williams 40bbd4e2f2 examples: fix querying active connections 2010-11-23 16:28:25 -06:00
Dan Williams 8f7aedc7e0 Merge remote branch 'origin/master' into rm-userset 2010-10-18 19:02:27 -05:00
Jiří Klimeš 9ee41307fc examples: add example for adding a connection in C (using glib) 2010-09-30 21:09:01 +02:00
Daniel Gnoutcheff f98e2528a6 NetworkMangerSettings -> NetworkManager.Settings
Just for consistency, make settings related stuff live under the
org.freedesktop.NetworkManager namespace, rather than its own
org.freedesktop.NetworkManagerSettings namespace. Renames are done for
DBus interface names, DBus object paths, and polkit actions.
2010-08-07 01:19:46 -04:00
Daniel Gnoutcheff fb96309899 DBus: merge NetworkManger{,SystemSettings}
Remove the org.freedesktop.NetworkManagerSystemSettings bus name and
have everybody talk to org.freedesktop.NetworkManager. Now that we have
a single settings service that's embedded in the main daemon, we don't
need separate names anymore.
2010-08-07 01:19:46 -04:00
Daniel Gnoutcheff 8b1cac703c examples: update for user settings removal
Some of the example code broke when we removed user settings services.
Oops!
2010-08-07 01:19:45 -04:00
Dan Williams 72399bfa2c examples: add device disconnect example 2010-07-14 17:49:20 -07:00
Jiří Klimeš 2242788e98 examples: fix a prefix 2010-05-06 16:28:42 +02:00
Dan Williams e01039dcd2 examples: add example printing out all BSSIDs we can see 2010-04-29 08:26:28 -07:00
Dan Williams 257b4b34da examples: add example for listing connections 2010-04-28 18:39:42 -07:00
Dan Williams bace73c5dc examples: add Tambet's VPN auto-activate example 2010-02-24 16:55:11 -08:00
Dan Williams 754774a4e3 examples: add license headers 2010-02-24 16:55:02 -08:00
Dan Williams fa9e9b4227 examples: add some python examples 2010-02-18 10:17:08 -08:00
Dan Williams 64af880fd7 Remove outdated examples 2008-12-20 09:48:02 -05:00
Michael Biebl c733dbf6d0 Remove .cvsignore file, they are obsolete 2008-12-19 21:23:08 -05:00
Robert Love 98192881d3 2006-05-24 Robert Love <rml@novell.com>
* examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
	  gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
	  src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1760 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-05-24 15:53:07 +00:00
Rodrigo Moya 9f920d60cc 2005-09-07 Rodrigo Moya <rodrigo@novell.com>
* gnome/panel/eggtrayicon.[ch]:
	* examples/python/systray/eggtrayicon.[ch]: updated code from libegg.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@950 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-09-07 21:41:00 +00:00
Bryan Clark 47fab57a67 2004-11-02 Bryan Clark <clarkbw@cvs.gnome.org>
* panel-applet/menu-info.c: change from bold text to light
        colored, may cause problems with some themes, i've tested a lot
        and they seem fine.

        * panel-applet/NMWirelessApplet.c: fix strength tooltip


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@288 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-11-02 08:24:57 +00:00
clarkbw 14653e2021 2004-09-22 <clarkbw@cvs.gnome.org>
* initscript/Debian/.cvsignore:
	* initscript/Slackware/.cvsignore:
	Added new cvsignores for Makefile, Makefile.in

	* test/.cvsignore:
	Added nmtestdevices

	* src/NetworkManagerDevice.c:
	* src/NetworkManager.c:
	Updated the wireless/wired HAL device strings from net.ethernet to
	net.80203 or net.80211 depending on wired or wireless respectively
	Should probably update the configure.in to ask for the correct HAL
	version now.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@168 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-09-22 17:34:15 +00:00
clarkbw 8dfb7e0850 2004-09-22 <clarkbw@cvs.gnome.org>
* examples/python/NetworkManager.py:
	s/Quality/Strength/

	* examples/python/systray/network_tray.py:
	Lots of little changes and fixes.  been rotting for a while so I
	figured I'd finally sync them all with CVS


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@166 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-09-22 13:19:45 +00:00
Bryan Clark a5f749fc9a 2004-09-09 Bryan Clark <clarkbw@cvs.gnome.org>
* examples/python/systray/network_tray.py
	(network_tray.sort_networks):

	Added support for having wireless always scanning


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@141 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-09-09 20:14:18 +00:00
Bryan Clark dade73e234 2004-09-08 Bryan Clark <clarkbw@cvs.gnome.org>
* examples/python/NetworkManager.py:
        added CONNECTED, CONNECTING, and DISCONNECTED states
        added methods to return number of devices of a single type

        * examples/python/systray/network_tray.py:
        did some tweaks to get the menu looking near what it is supposed
        to look like.  Also did a Airo card hack to make it show the
        correct AP quality


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@134 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-09-08 21:25:55 +00:00
Bryan Clark 3e02531372 2004-08-30 Bryan Clark <clarkbw@cvs.gnome.org>
* examples/python/NetworkManager.py:
        added convience functions has_wired_device and has_wireless_device

        * examples/python/systray/network_tray.py:
        cleaned up a bunch of cruft, added support for listing wireless
        networks just like the real applet.  This is probably all I'm
        going to work on this applet from now on.
        TODO: add support for actually changing networks and devices


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@111 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-08-30 17:34:52 +00:00
Bryan W. Clark b2fb0f8b0d adding .cvsignore to examples/python directory
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@110 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-08-30 04:52:12 +00:00
Bryan Clark c7be101a65 2004-08-30 Bryan Clark <clarkbw@cvs.gnome.org>
* examples/python/NetworkManager.py (NetworkManager.get_device):
        changed "nm.networks" into a dict from a list so I can store all
        the cool information about networks in there


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@109 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-08-30 04:50:22 +00:00
Bryan Clark ee1cb1e400 2004-08-30 Bryan Clark <clarkbw@cvs.gnome.org>
* examples/python/systray/network_tray.py:
        Added nice message when you try to run without running make first


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@108 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-08-30 04:23:54 +00:00
Bryan Clark bc7cd6c408 2004-08-30 Bryan Clark <clarkbw@cvs.gnome.org>
* examples/python/NetworkManager.py:
	Bug fixes to the code so we get all the device information
	that we need in get_device()

	* examples/python/NMTester.py:
	Fixed _print_device_list to print_device_list


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@107 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-08-30 04:20:09 +00:00
Bryan Clark 38c917f59f 2004-08-27 Bryan Clark <bclark@redhat.com>
* examples/python/systray/Makefile:

	Updated the clean section


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@95 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-08-27 21:00:32 +00:00
Bryan W. Clark 5c37b80859 adding cvsignore to examples/python/systray directory
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@94 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-08-27 20:52:47 +00:00
Bryan Clark 591576fbc1 004-08-27 Bryan Clark <bclark@redhat.com>
* examples/python/systray/trayiconmodule.c:
	* examples/python/systray/trayicon.override:
	* examples/python/systray/network_tray.py:
	* examples/python/systray/eggtrayicon.h:
	* examples/python/systray/eggtrayicon.c:
	* examples/python/systray/Makefile:
	* examples/python/README:
	* examples/python/NetworkManager.py:
	* examples/python/NMTester.py:

	Initial commit of these python example files


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@93 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-08-27 20:48:04 +00:00