5. 独自エレメントの開発の概要¶
Device Connector Frameworkでは、独自エレメントを開発し、パイプラインに組み込むことができます。 ここでは、新たにエレメントを開発する方法を解説します。
独自エレメントを使用する方法には、以下の2つがあります。
独自エレメントをRust言語で開発する場合は、どちらの方法も使用可能です。
独自エレメントをC言語で開発する場合は、プラグインにする方法のみ使用可能です。
5.1. プラグインにしてデバイスコネクター実行時にロードする(RustまたはC)¶
Device Connector Frameworkで作成されたエレメントは、プラグインの形式(共有ライブラリファイル、.so形式)にビルドすることができます。 1つのプラグインには、複数のエレメントを定義することが可能です。
ビルドされたプラグインを使用するには、パイプライン設定ファイルの plugin.plugin_files
に、プラグインファイルのパスの配列を指定します。
runner:
..
plugin:
plugin_files:
- /path/to/my/plugin0/libdc_my_plugin0.so
- /path/to/my/plugin1/libdc_my_plugin1.so
tasks:
- id: 1
element: my-plugin0-foo-element # defined in loaded plugin
..
独自エレメントのプラグインは、RustまたはCで開発します。詳細は以下を参照してください。
5.2. デバイスコネクターの実行ファイルに含める(Rust)¶
Device Connector Frameworkで作成されたエレメントは、デバイスコネクターの実行ファイルに含めてビルドすることも可能です。
必要なエレメントがデバイスコネクターの実行ファイルに含まれていればプラグインは必要ないため、パイプライン設定ファイルに plugin
の記述は不要になります。
ただしこの場合、独自エレメントを追加・修正するたびにデバイスコネクターの実行ファイルを再ビルドする必要があります。
独自のエレメントをデバイスコネクター実行ファイルに含めるには、エレメントをRustで開発する必要があります。エレメントの開発方法はプラグインの場合と同様です。詳細は以下を参照してください。