コンパイル済プラグイン

コンパイル済プラグインは、スクリプト済プラグインのパフォーマンスが問題になる場合に使用することができます。

コンパイル済プラグインは、インタープリター型プラグインと同じベースクラスに由来し、下記の基本的フローに従います。しかし、インタープリター型プラグインとは異なり、各コンパイル済プラグインは、プラグインインターフェースクラスに由来するコードを含んだ共有ライブラリです。プラグインをインプリメントするのにライブラリは必要なく、公的に入手可能なインターフェースファイルIPlugin.hのみを要します。

C++プラグインをインプリメントするには、インターフェースIPluginに由来するクラスをオーサリングします:



ベースクラスが優先される必要のあるの仮想関数は、GetLabelOnRecordのみです。下記のクエリとアクションオブジェクトはBegin()OnRecord()およびEnd()イベントに渡されます:
TableInfo
TableInfoオブジェクトはテーブルのプロパティにアクセスするための方法を提供し、BeginおよびEndイベントに渡されます。
RecordInfo
RecordInfoオブジェクトは記録のクエリをサポートし、OnRecordイベント内でのみコールされます。
RecordAction
RecordActionオブジェクトは、AddRecord法で宛先テーブルへの記録の追加をサポートします。
DLLがコンパイルされると、プラグインライブラリ用のLoadエレメント内のOptionエレメントを介してResults Moduleに付加されます。以下のサンプルは、プラグイン読み込みのためのLibrary ConfigセクションのPlug-inセクションで、最後がコンパイルされたプラグインです。


プラグイン共有ライブラリには接頭部も接尾部も含まれません。これにより、拡張子(.so.sl.dll)および接頭部(lib)などプラットフォームの差異が取り除かれます。