On Fri, 2019-02-15 at 12:32 +0200, Kalev Toots wrote: > Hello > > I try to connect 3G GSM modem to network using Network Manager,libnm > API > and C/C++ code. > I cannot find any C/C++ example code which connects prepared NM > profile > to network > and waits until connection is up or error or timeout. Can anybody > direct > me to such > piece of code. >
Hi, see https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/examples/C NetworkManager is profile based, that means in one step you create the profile to your liking, then you just call nm_client_activate_connection_async(). This returns you a D-Bus path to the NMActiveConnection (which represents the activation and ties the profile (NMRemoteConnection) to the device (NMDevice). See for example, nmcli: https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/clients/cli/connections.c?id=c032690df227a609fc4b47c78269448576b6bda1#n2790 The complicated part is waiting until the profile is fully activated: https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/clients/cli/connections.c?id=c032690df227a609fc4b47c78269448576b6bda1#n2584 Another example is the ansible-role (Which is Python with libnm via GObject introspection): https://github.com/linux-system-roles/network/blob/master/library/network_connections.py#L1083 This is a rather unconventional example, because it manually iterates the glib mainloop. If you are unclear how to use the glib mainloop, then this might *not* be the example to look at. best, Thomas
signature.asc
Description: This is a digitally signed message part
_______________________________________________ networkmanager-list mailing list networkmanager-list@gnome.org https://mail.gnome.org/mailman/listinfo/networkmanager-list