Ответ 1
Чтобы дать вам anwser, Pair и Connect связаны с device-api.txt. Чтобы вызвать эти методы, вы можете отправлять сообщения dbus (например, вы сделали в приведенном выше коде) или создать объект Proxy со следующими параметрами (см. Документацию):
name: "org.bluez"
интерфейс "org.bluez.Device1"
path: "/org/bluez/dev_AA_BB_CC_DD_EE", где AA_BB_CC_DD_EE - это MAC-адрес вашего устройства.
Если вы решили создать прокси-объект, вы можете вызвать такие методы, как Pair или Connect через прокси-сервер.
Не могли бы вы объяснить, чего вы пытаетесь достичь в коде выше? Я понимаю, что вы хотите найти, какой адаптер использовать (я вижу метод "FindAdapter" ), но, похоже, вы уже знаете, что ваше имя адаптера "hci0".
Я недавно работал с API DBus, который был показан Bluez, и я не был знаком с интерфейсом "org.bluez.Manager".
После быстрого поиска в официальной документации (https://git.kernel.org/cgit/bluetooth/bluez.git/tree/doc) мне удалось найти следующее коммит, которое указывает, что интерфейс был упал в 2012 году: https://git.kernel.org/cgit/bluetooth/bluez.git/commit/doc?id=86a7b07c22f3a595ba3c48092359287905bf0878
Я также заметил, что вы использовали низкоуровневый API DBus, как советовали сами freedesktop (читайте внизу страницы здесь: https://dbus.freedesktop.org/doc/api/html/group__DBus.html), это очень сложный API, полезный для создания привязок на других языках. Если вы можете, переключитесь на GLib GDBus для гораздо более простого API.