Hello, On Tue, 2016-11-22 at 20:52 +0100, W. Martin Borgert wrote: > Hi, > > I need to port old non-GUI C code using the dbus-glib based API of > NM 0.8.6 to whatever is the best option today. According to Dans > blog post¹ some months ago, GDBus is the way to go. > > Is there a porting guide available? Or are there nice examples?
Well, the choice of the D-Bus library is not really a NetworkManager issue -- use whichever library works well for you. dbus-glib, while not recommended for new code, might still make sense when porting old code with minimal effort. We chose GDBus because it's readily available in glib's gio and includes a tool that generates C code that interoperates well with GObject. This part of GDBus manual seems like a good place to start. It applies to NetworkManager pretty well; just generate the code from XMLs you find in the introspection/ tree: [1]. [1] https://developer.gnome.org/gio/stable/gdbus-codegen.html If you prefer a minimal library or avoid generating code from the introspection data, sd-bus library might also be a good choice. See [2] and sd-bus(3) manual [2] http://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html Another option would be to avoid speaking D-Bus directly and use libnm instead. However, it might be an overkill for a simple project. When it comes to the NetworkManager D-Bus API itself, the 0.9 porting guide might come handy: [3]. Since 0.9 we are careful not to ever do incompatible API changes. The full API reference is at [4]. [3] https://developer.gnome.org/NetworkManager/0.9/ref-migrating.html [4] https://developer.gnome.org/NetworkManager/1.4/ > Many thanks in advance! > > Cheers > > ¹ https://blogs.gnome.org/dcbw/2016/02/19/die-dbus-glib-die/ > Regards, Lubo _______________________________________________ networkmanager-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/networkmanager-list
