DBUS:问题dbus_bus_get_unique_name

问题描述:

我有的DBus的问题:()DBUS:问题dbus_bus_get_unique_name

  1. 我的DBus注册dbus_bus_get方法:OK
  2. 我添加过滤器匹配:OK
  3. 我添加过滤器回调函数:OK
  4. 我通过dbus_connection_read_write_dispatch()开始调度循环:OK

一切正常。现在,如果我插入:

1a。 dbus_bus_get_unique_name()

我得到一个讨厌的异常消息:

参数dbus_connection_send_with_reply_and_block()是不正确的,断言“(错误)== NULL || dbus_error_is_set((错误))“在文件dbus-connection.c行3301中失败。

请帮忙。

经过一番实验后,似乎功能dbus_bus_get_unique_name()必须从特定的上下文中调用。当通过过滤器回调函数访问此函数时,我设法获得了有意义的结果。一个注册了dbus_add_filter函数。