DBus如何传送和接收数据,包括结构体

原文地址: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,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值