Skip to content

D-Busサービスが実装するインターフェイス

D-BusそのものはD-Busの概要に書いたが、そこで公開されるサービスは個別に用意される。

D-Bus自体が仕様で標準インターフェイスと呼んで定義するものは以下の4つ。

  • org.freedesktop.DBus.Peer
  • org.freedesktop.DBus.Introspectable
  • org.freedesktop.DBus.Properties
  • org.freedesktop.DBus.ObjectManager

ここで IntrospectableProperties は多くの場合に必要となるだろうから、D-Busサービス開発のライブラリを選ぶときになるべく自動生成されるものを選ぶと良い。Introspectable はそれが扱うオブジェクトを定義したXMLを返すことになる。イメージとしては以下の資料が参考になる。

Freedesktopの場合は主にFreedesktop.org Specification以下で定義されていて、例えばパスワードマネージャはSecreat Service APIを実装する。これはLinuxデスクトップでのシークレット管理APIにも書いた。