📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 356行目: | 356行目: | ||
<br> | <br> | ||
<u>次に、上記のDBusインターフェース定義ファイルからC++コードを生成する。</u><br> | <u>次に、上記のDBusインターフェース定義ファイルからC++コードを生成する。</u><br> | ||
<br> | <br> | ||
sdbus-c++ライブラリには、XMLファイルからC++のソースコードを生成するツールであるsdbus-c++-xml2cppツール (スタブジェネレータ) が存在する。<br> | |||
このツールは、D-Busインタフェースを記述したXMLファイルを受け取り、そのインタフェースを経由して呼び出すことができるC++ヘッダファイルを自動生成するものである。<br> | |||
この自動生成されたC++ヘッダファイルは、D-Bus経由の呼び出しをサービスのプロバイダに転送して、結果を呼び出し元に返す役割がある。<br> | |||
<br> | |||
サービスを実装するサーバは、<code>--adaptor</code>オプションで生成されたヘッダファイルのインターフェイスクラスから派生したクラスを定義して、そのメソッドを実装する必要がある。<br> | |||
<br> | |||
以下のコマンド例は、sdbus-c++-xml2cppツールを実行して、D-Busのサーバ側 (ヘルパー実行ファイル) のC++ヘッダファイルを自動生成している。<br> | |||
sdbus-c++-xml2cpp <D-Busインターフェース定義ファイル名 (XMLファイル)> \ | sdbus-c++-xml2cpp <D-Busインターフェース定義ファイル名 (XMLファイル)> \ | ||
--adaptor=<生成するアダプタのヘッダファイル名> | --adaptor=<生成するアダプタのヘッダファイル名> | ||
| 367行目: | 371行目: | ||
--adaptor=MochiuAdaptor.h | --adaptor=MochiuAdaptor.h | ||
<br> | <br> | ||
<u> | <u>最後に、生成されたソースコードを上記のヘルパー実行ファイルのソースコードにインクルードする。</u> | ||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
// 例: MochiuHelper.hファイル | // 例: MochiuHelper.hファイル | ||