2009年11月15日 星期日

Linux-dbus

D-Bus為IPC的一種實現,通常應用於桌面應用程式和作業系統的溝通。D-Bus可適用於GNOME與KDE兩大桌面環境。

D-Bus Bus:
(1)System Bus:
為os使用。
(2)Session Bus:
當使用者登入時啟用,為使用者個人私有。

D-Bus Matcher:
基於interface、Path、Method來進行指定規則。

D-Bus Message:
(1)Content:
來源位址和目的位址,這些位址為物件路徑。
(2)類型:
method calls、method returns、signal、error。

D-Bus Service:
應用程式可以使用一個bus來註冊一個服務。

D-Bus Example:
(1)Sender:
底下為搭配GLib Event Loop的範例。首先,建立一個GLib事件迴圈,然後獲得一個Session Bus。並將D-Bus事件加入到GLib Event Loop中。

(2)Listener:
底下為搭配GLib Event Loop的範例。程式會一直監聽bus來的message,當符合matcher的規則時,則會觸發預設搭配的函式。

沒有留言:

張貼留言