2009-10-02 60 views
0

我有的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中失敗。

請幫忙。

回答

1

經過一番實驗後,似乎功能dbus_bus_get_unique_name()必須從特定的上下文中調用。當通過過濾器回調函數訪問此函數時,我設法獲得了有意義的結果。一個註冊了dbus_add_filter函數。