最終更新:2022-10-11 (火) 12:41:40 (709d)
D-Bus
Top / D-Bus
D-Bus is a message bus system, a simple way for applications to talk to one another.
http://www.freedesktop.org/wiki/Software/dbus
仕様
概要
- シンプルなプロセス間メッセージングシステム
- D-Bus は、メッセージバスであり、アプリケーション間でメッセージを 送信するために利用されています。概念的に、複雑さの点から raw socket と CORBA の中間のどこかにあてはまります。
- D-Bus は、ブロードキャストメッセージ、非同期メッセージ (ゆえにレイテンシ が減少する)、認証などをサポートします。オーバーヘッドが低くなるように 設計されています。メッセージは、XML ではなく、バイナリプロトコルを用いて 送信されます。D-Bus は、メッセージに対するメソッドコールマッピングを サポートしますが、必須ではありません。このシステムを使うと非常に シンプルになります。
リポジトリ
概念
オブジェクト
- インターフェイスを実装
- 複数のメソッドからなる
- プロパティを持つ
- 例
- org.freedesktop.DBus.Introspectable
- org.bluez.GattManager1.
export
- オブジェクトを登録
- 一意の識別子を持つ:パス
シグナル
proxy object
メモ
- An application can call a method of an object owned by another application by sending a special message over its connection to the bus.
D-Bus/オブジェクトパス
- 慣習として、パス名はサービス名の "." を "/" に置き換えた接頭辞(プレフィックス)を持たせます
バス
D-Bus/システムバス? (1つ)
D-Bus/セッションバス? (ユーザーごと)
D-Bus/サービス
主なインターフェイス
接続名
- :1.16
- well-known nameをつけることも可能
- org.bluezとか