Re: Porting dbus-glib code for NM 0.8.6 to NM 1.4.2
- From: Lubomir Rintel <lrintel redhat com>
- To: "W. Martin Borgert" <debacle debian org>, networkmanager-list gnome org
- Subject: Re: Porting dbus-glib code for NM 0.8.6 to NM 1.4.2
- Date: Wed, 23 Nov 2016 12:57:58 +0100
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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]