📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

269行目: 269行目:
<u>sdbus-c++ライブラリは効率的な引数の受け渡しを行うよう設計されているため、大きなオブジェクトは自動的に参照として扱われる。</u><br>
<u>sdbus-c++ライブラリは効率的な引数の受け渡しを行うよう設計されているため、大きなオブジェクトは自動的に参照として扱われる。</u><br>
<br>
<br>
===== sdbus-c++-xml2cppツール (スタブジェネレータ) の実行 =====
<u>次に、上記のDBusインターフェース定義ファイルからC++ヘッダファイルを自動生成する。</u><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ファイル)> \
                  --adaptor=<生成するアダプタのヘッダファイル名>
# 例 :
sdbus-c++-xml2cpp org.example.mochiu.xml    \
                  --adaptor=MochiuAdaptor.h
<br>
===== D-Busのサーバ側 (ヘルパー実行ファイル) =====
===== D-Busのサーバ側 (ヘルパー実行ファイル) =====
<u>まず、D-Busのサーバ側 (ヘルパー実行ファイル) を作成する。</u><br>
<u>まず、D-Busのサーバ側 (ヘルパー実行ファイル) を作成する。</u><br>