mqsdx
300.0.0
MQPluginSDK Extention Library / mqsdkをC++またはCLI(.Net)拡張するサポートライブラリ。
|
MQBasePluginを継承したクラスに、基本的な拡張を行うテンプレートラッパークラス [詳細]
#include <MQ0x.hpp>
Public メソッド | |
MQBasePlugin * | BasePlugin () |
継承された時に使う明示的キャスト | |
virtual const char * | EnumString () |
ボタンやメニューに表示される文字列を返す。 | |
virtual void | GetPlugInID (DWORD *Product, DWORD *ID) |
プラグインIDを返す。 | |
virtual const char * | GetPlugInName () |
プラグイン名を返す。 | |
const char * | GetProductName () |
製造者名を返す(独自に追加) | |
PluginBase (const char *productName, const char *pluginFullName, const char *pluginString) | |
PluginBase (const char *productName, const char *pluginFullName, const char *pluginString, const DWORD idProduct, const DWORD idPlugin) | |
DWORD | PluginID () |
プラグインIDを取得する | |
DWORD | ProductID () |
プロダクトIDを取得する | |
SettingProxy::Handle | Setting () |
SettingProxy(MQSettingの代替)をオープンするハンドルを取得 | |
Protected 変数 | |
const DWORD | m_idPlugin |
const DWORD | m_idProduct |
const std::string | m_pluginFullName |
const std::string | m_pluginString |
const std::string | m_productName |
MQBasePluginを継承したクラスに、基本的な拡張を行うテンプレートラッパークラス
T_MQPLUGIN | MQBasePluginを継承する型 |
このクラスはコンストラクタで製造者名、プラグイン名、表示名を指定する事で以下の実装を自動化します。
ID決定の自動化には文字列のハッシュコードが採用されています。
ハッシュコード算出は典型的に「ハッシュコード = ハッシュコード * (入力型(文字列の場合char型)サイズのビット数-1) ^ 配列要素」という計算を、 配列要素の個数だけ繰り返すロジックが採用されています。このテンプレートクラスで最終的にラップするのか、このテンプレートクラスをベースクラスにして継承して拡張するのかは自由です。