spBase
読み取り中…
検索中…
一致する文字列を見つけられません
spPlugin クラス

プラグインを扱うためのクラスです. [詳解]

#include <sp/spPlugin.h>

spPlugin 連携図
Collaboration graph

関連関数

(これらはメソッドではありません)

spPluginspLoadPlugin (const char *plugin_name)
 
spBool spFreePlugin (spPlugin *plugin)
 
spBool spEqPluginType (spPlugin *plugin, spPluginType type)
 
const char * spGetPluginName (spPlugin *plugin)
 
const char * spGetPluginId (spPlugin *plugin)
 
const char * spGetPluginDescription (spPlugin *plugin)
 
const char * spGetPluginInformation (spPlugin *plugin)
 
long spGetPluginVersionId (spPlugin *plugin)
 
int spGetPluginPriority (spPlugin *plugin)
 
spBool spGetPluginVersion (spPlugin *plugin, int *version, int *revision)
 

詳解

プラグインを扱うためのクラスです.

実際には,クラスではなく, typedef struct _spPlugin spPlugin; により定義された型です.

フレンドと関連関数の詳解

◆ spLoadPlugin()

spPlugin * spLoadPlugin ( const char * plugin_name)
related

プラグインをロードします. 同じプラグインに対して, spFreePlugin() を呼ぶ前に続けてこの関数を呼んだ場合は, すでに開いているプラグインが返されます. spFreePlugin() は必ずこの関数を呼んだ回数と同じだけ呼ぶ必要があります. 複数回呼んだ場合は,プラグイン内部の初期化関数は最初の1回だけ呼ばれます.

引数
[in]plugin_nameプラグインの名前のヌル終端文字列を指定します.拡張子は不要です. spSetPluginSearchPath() でディレクトリが指定されていればそのディレクトリを,そうでなければデフォルトのディレクトリをサーチして読み込みます.
戻り値
成功すれば spPlugin 型へのポインタが返ります. プラグインを使用しなくなったら spFreePlugin() を呼びます. 失敗すると NULL が返ります.

◆ spFreePlugin()

spBool spFreePlugin ( spPlugin * plugin)
related

プラグインのアンロードを行います. 同じプラグインに対して,複数回 spLoadPlugin() を呼んだ場合は,同じ回数だけこの関数を呼ぶ必要があります.

引数
[in]pluginspLoadPlugin() で得られた spPlugin へのポインタを指定します.
戻り値
SP_TRUE成功
SP_FALSE失敗

◆ spEqPluginType()

spBool spEqPluginType ( spPlugin * plugin,
spPluginType type )
related

プラグインが指定したプラグインの種類に一致するかどうかを調べます.

引数
[in]pluginspLoadPlugin() で得られた spPlugin へのポインタを指定します.
[in]typeプラグインの種類を指定します. SP_PLUGIN_INPUT , SP_PLUGIN_OUTPUT などが指定できます.
戻り値
SP_TRUE一致
SP_FALSE一致しない

◆ spGetPluginName()

const char * spGetPluginName ( spPlugin * plugin)
related

ロードしたプラグインの名前を得ます.

引数
[in]pluginspLoadPlugin() で得られた spPlugin へのポインタを指定します.
戻り値
プラグイン名が含まれる,プラグイン内のスタティックなヌル終端文字列が返ります.

◆ spGetPluginId()

const char * spGetPluginId ( spPlugin * plugin)
related

ロードしたプラグインID(文字列)を得ます.

引数
[in]pluginspLoadPlugin() で得られた spPlugin へのポインタを指定します.
戻り値
プラグインIDが含まれる,プラグイン内のスタティックなヌル終端文字列が返ります.

◆ spGetPluginDescription()

const char * spGetPluginDescription ( spPlugin * plugin)
related

ロードしたプラグインの説明(改行を含まない)を得ます.

引数
[in]pluginspLoadPlugin() で得られた spPlugin へのポインタを指定します.
戻り値
改行を含まないプラグインの説明が含まれる,プラグイン内のスタティックなヌル終端文字列が返ります.

◆ spGetPluginInformation()

const char * spGetPluginInformation ( spPlugin * plugin)
related

ロードしたプラグインの長めの説明(改行を含む)を得ます.

引数
[in]pluginspLoadPlugin() で得られた spPlugin へのポインタを指定します.
戻り値
改行を含むプラグインの長めの説明が含まれる,プラグイン内のスタティックなヌル終端文字列が返ります.

◆ spGetPluginVersionId()

long spGetPluginVersionId ( spPlugin * plugin)
related

ロードしたプラグインのバージョンID( long 型整数)を得ます.

引数
[in]pluginspLoadPlugin() で得られた spPlugin へのポインタを指定します.
戻り値
long 型整数のバージョンIDが返ります.

◆ spGetPluginPriority()

int spGetPluginPriority ( spPlugin * plugin)
related

ロードしたプラグインの優先順位を得ます.
優先順位は,同じ種類のプラグインがあった場合にどちらが優先されるかを示しています. SP_PLUGIN_PRIORITY_HIGHEST が最も高く, SP_PLUGIN_PRIORITY_LOWEST が最も低くなります.

引数
[in]pluginspLoadPlugin() で得られた spPlugin へのポインタを指定します.
戻り値
優先順位の値が得られます.

◆ spGetPluginVersion()

spBool spGetPluginVersion ( spPlugin * plugin,
int * version,
int * revision )
related

ロードしたプラグインのバージョン番号を得ます.

引数
[in]pluginspLoadPlugin() で得られた spPlugin へのポインタを指定します.
[out]versionバージョン番号を得る変数のアドレスを指定します.
[out]revisionリビジョン番号を得る変数のアドレスを指定します.
戻り値
SP_TRUE成功
SP_FALSE失敗