DBus研究笔记(一)
一.建立连接 要使用DBus进行通信必须首先与系统建立连接, 并申请一个"域名"使得其他应用可以找到你。常用DBusConnection* dbus_bus_get(DBusBusType, DBusError*)系列函数来与bus daemon建立连接。DBusBusType为需要连接的总线类型有系统总线,会话总线,和DBUS_BUS_STARTER。系统总线顾名思义在整个系统级别都有效,而会话总线只是相对于当前登录的用户。 需要说明的问题有两个:第一.dbus_bus_get可以被调用多次当用户,不想使用这个连接的时候需要需要调用dbus_connection_unref解除引用,原因在于,dbus_bus_get这个接口获取的连接不是私有的,不能直接调用dbus_connection_close关闭连接。第二.如果dbus_bus_get获得的是一个新的连接那么dbus_bus_get内部会调用dbus_connection_set_exit_on_disconnection()接口当用户把connection解除引用的时候,应用程序会自动退出。一般我们会在dbus_bus_get之后调用接口撤销该设置。 其实dbus_bus_get所做的事情远比我们以为的复杂的多,首先做的第一件事情是,初始化bus_connection_addresses这个指针数组,指针指向的是总线地址