原文地址:http://hi.baidu.com/9562512/item/f93cac0be4849cdcdce5b076
DBus是进程间通信的工具。网上的资料不太多,大都又是基于GLib或python的。在windows下如果要用纯c/c++语言,似乎只能用原始的DBus库来编写程序。倘若不亲自写写,还真不知道到底是怎样的。
DBus的数据都要绑定在消息上:
消息: DBusMessage
数据: DBusMessageIter
从数据结构的命名上看,与其称之为消息的数据,不如称为消息数据的迭代器。
事实上其数据的操作过程,就是个迭代过程。
I 传输单独一个变量
如bool类型,有:
DBusMessage *msg; // DBus消息
DBusMessageIter datatoSentIter; // DBus数据迭代器
dbus_bool_t singleData = true; // DBus的内建bool型
// 每条语句都需要返回值bool判断是否成功,为方便清晰略去
dbus_message_iter_init_append(msg, &datatoSentIter); // 将迭代器绑定至消息
dbus_message_iter_append_basic(&datatoSentIter, DBUS_TYPE_BOOLEAN,