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で開発する必要があります。エレメントの開発方法はプラグインの場合と同様です。詳細は以下を参照してください。