On Wed, 2020-02-26 at 16:02 +0000, António Mendes wrote: > Hello again Thomas. > > After read more documentation and follow your guidelines, I achieved > my objective but if you can, I would appreciate a second opinion in > the developed code, if you don't mind...
Hi, You call nm_remote_connection_commit_changes_async(). That will basically send the D-Bus request via D-Bus (to Update). Usually, you would have your application to wait for the response from commit_changes_async(). NMClient is build around GDBusConnection and thus GMainContext. That means, when you start an async operation, you need to run/iterate the maincontext for the response callback to be invoked. I think [1] is a very good introduction to understand how this works. >From the provided code it's not clear whether you are iterating the main context (as you have to). However your networkManager() function doesn't give the caller a way to know when the callback was invoked (and whether it can stop waiting). On a minor note, nm_remote_connection_commit_changes_finish() returns a GVariant on success. You must free that. Also, you don't pass a user_data argument to nm_remote_connection_commit_changes_async(), so the g_object_unref(op) is wrong. [1] https://developer.gnome.org/programming-guidelines/stable/main-contexts.html.en best, Thomas
signature.asc
Description: This is a digitally signed message part
_______________________________________________ networkmanager-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/networkmanager-list
