On Tue, 2014-04-15 at 11:44 +0200, Manuel Yguel wrote:
> Thanks a lot Dan, your explanations were very clear.
> Thank to you I got a running example doing creation, connection, 
> disconnection and deletion of the settings. I attached the code I wrote. 
> It is not completely mature yet since it mixes c++ and C. But I intend 
> to put some orthodoxy in it later.
> I have an other question, I have seen that the connection called "Test 
> of my" is still visible in the list of scanned networks displayed by the 
> network-manager-applet. I thought first that it was because the list was 
> not updated but it seems not to be the case. Worse: I am able to click 
> on it and it looks like it tries to activate it, however I think it does 
> not work.
> Is this a problem related to the applet or did I miss to remove 
> something when managing the adhoc connection ?

Is the stale connection still visible in "nmcli dev wifi list" output?
Is it also still visible in the "iwlist wlan0 scan" output?

Dan

> 
> Manuel
> 
> 
> On 04/10/2014 05:52 PM, Dan Williams wrote:
> > On Thu, 2014-04-10 at 14:44 +0200, Manuel Yguel wrote:
> >> I have successfully created and deleted adhoc networks from the glib API
> >> thanks to Dan help. However my test program suffers from one problem:
> >> the network connection configurations get stored in the network manager
> >> memory and pollute the user interface. Thus I try to call
> >> org.freedesktop.NetworkManager.Settings.Connection.Delete for a certain
> >> NMConnection object without any success so far.
> >> I can see in the D-bus (with qdbusviewer) the configuration for a single
> >> network connection and I am able to call the Delete method on it
> >> (because I can see it appears when the setting configuration is recorded).
> >> However I do not know how to get the number (x) in the path that appears at
> >> org/freedesktop/NetworkManager/Settings/x
> >> in order to create a proxy for that "Settings.Connection object" and
> >> call the Delete method on it later.
> >> First I would like to know if there is a way to get the path of the
> >> object storing the org.freedesktop.NetworkManager.Settings.Connection
> >> from the glib API ?
> > When you add the connection to NetworkManager originally, NM will return
> > to you the object path that you can use to work with the Connection
> > object later.  With the libnm-glib API, when you call:
> >
> > gboolean nm_remote_settings_add_connection (NMRemoteSettings *settings,
> >                                              NMConnection *connection,
> >                                              
> > NMRemoteSettingsAddConnectionFunc callback,
> >                                              gpointer user_data);
> >
> > "callback" is called when the add is completed, and your callback has
> > the prototype of:
> >
> > typedef void (*NMRemoteSettingsAddConnectionFunc) (NMRemoteSettings 
> > *settings,
> >                                                     NMRemoteConnection 
> > *connection,
> >                                                     GError *error,
> >                                                     gpointer user_data);
> >
> > The NMRemoteConnection object (a subclass of NMConnection) represents
> > the actual connection known by NM.  You can throw away the NMConnection
> > that you handed to nm_remote_settings_add_connection(), it is unchanged
> > by the call.  The NMRemoteConnection is the "live" object, which you can
> > keep around and use later with functions like:
> >
> > void nm_remote_connection_delete (NMRemoteConnection *connection,
> >                                    NMRemoteConnectionResultFunc callback,
> >                                    gpointer user_data);
> >
> >> I was first thinking that it may be a NMSettingConnection object. I was
> >> able to access it but I was only able to get the uuid or the human name
> >> of the connection.
> >> I also tried the nm_connection_get_path on the NMConnection object but I
> >> get a NULL string.
> >> I am quite stuck now and any help would be much appreciated.
> > I think the issue is that you might still be using the NMConnection that
> > you built up to send to NM with the add_connection() call.  That object
> > isn't consumed by add_connection(), but serves as a template and can be
> > disposed after calling add_connection().  The NMRemoteConnection is what
> > you want to use.
> >
> > I've committed some more documentation to libnm-glib's NMRemoteSettings
> > object which describes this and hopefully helps you out.
> >
> > http://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=2200687b0f92d553dc79e54b672069b2b704203d
> >
> > There are also some examples here, the ones you're interested in have
> > "libnm-glib" in the name:
> >
> > http://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/examples/C/glib
> >
> > Let us know if you have further questions!
> >
> > Dan
> >
> 
> _______________________________________________
> networkmanager-list mailing list
> networkmanager-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/networkmanager-list


_______________________________________________
networkmanager-list mailing list
networkmanager-list@gnome.org
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to