2013-03-08 55 views
0

我正在尝试实现Dbus客户端。 Dbus服务器实际上是由第三方实施的,我不知道它使用什么绑定(但我猜gdbus)。现在,我可以在客户端应用程序中使用QDbus绑定,而不考虑Dbus服务器中使用的任何绑定吗? 如果是这样,在服务器(例如,glib类型)和客户端(例如qt类型)之间如何管理数据类型(w.r.t.复杂数据类型/用户定义结构)?这个概念的解释将不胜感激。服务器和客户端的不同Dbus绑定

回答

1

DBus上的所有类型都有DBus类型,绑定只是将它们转换成它们自己的格式。例如,uint32类型是C/C++中的unsigned int,而在Java绑定中,它是UInt32

基本上,所有的实现都需要知道消息的连线格式。只要他们理解了这种格式,转换成的高级数据类型就无关紧要。我不会称他们为复杂的数据类型,因为您只能通过总线发送基本数据类型。