Я пытаюсь реализовать клиент Dbus. Dbus-сервер фактически реализован третьей стороной, и я не знаю, какие привязки он использует (но я думаю, gdbus). Теперь я могу использовать привязки QDbus в своем клиентском приложении независимо от того, какие привязки используются на сервере Dbus? Если да, то каким образом типы данных (w.r.t. сложные типы данных/определяемые пользователем структуры) управляются между сервером (например, типами glib) и клиентом (например, типы qt)? Объяснение этой концепции было бы весьма полезным.Различные привязки Dbus в сервере и клиенте
0
A
ответ
1
Все типы DBus имеют типы DBus, привязки просто переводят их в свой формат. Например, тип uint32
- это unsigned int
в C/C++, а в привязках Java это UInt32
.
В принципе, все реализации должны знать формат провода сообщения. До тех пор, пока они понимают этот формат, неважно, какой тип данных более высокого уровня переводится на. Я бы не назвал их сложными типами данных, потому что вы можете отправлять только базовые типы данных по шине.