You might want to check the file main.cin the folder of clientthe latest Bluez source code. This is the source code for the tool bluetoothctl. Run it too. The source code shows how they use GDBus, including proxies, agents, calling methods described in the API documentation (folder / doc), and all that. It is in C and uses a high level API.
I suggest you go through the code because it took me 2 weeks, endlessly trying to understand Bluez in C and the fact that there is no documentation there, but when I read this main.c file, I was ready in a day. Read the correct DBus API documentation and, more importantly, the concepts. Some documents that helped me:
gdbus: https://developer.gnome.org/gio/stable/gdbus.html
gdbus main.c . https://developer.gnome.org/gio/stable/gdbus-convenience.html
D-Feet - Dbus . /bluez. https://wiki.gnome.org/action/show/Apps/DFeet?action=show&redirect=DFeet
sudo apt-get install d-feet
, , , bluetoothctl , . http://dbus.freedesktop.org/doc/dbus-tutorial.html
bluetoothctl , , , , , , .