#include <plugin.h>
Public Member Functions | |
const std::string & | getClassName () const |
Returns name of class of our object. | |
const std::string & | getObjectName () const |
Returns name of our object. | |
void | getSpecificParameter (const std::string &ParameterName, void *ParameterValue) |
Method for obtaining some specific parameters, such as texture specific params, and so on. | |
virtual void | install ()=0 |
bool | isLocked () const |
returns state of object. | |
Plugin (const std::string &PluginName) | |
virtual void | uninstall ()=0 |
virtual | ~Plugin () |
Protected Member Functions | |
void | addSpecificParameter (const std::string &ParameterName, void *ParameterValue, size_t Size) |
void | lock () |
void | unlock () |
This class provides plugin mechanism. User can load plugin from DLL and install it. Plugin can automatically initialize and adds functionality to our library...
Definition at line 104 of file plugin.h.
gpucalc::Plugin::Plugin | ( | const std::string & | PluginName | ) | [inline] |
Definition at line 113 of file plugin.h.
00113 : Object(_PluginClassName, PluginName) 00114 { 00115 }
virtual gpucalc::Plugin::~Plugin | ( | ) | [inline, virtual] |
void gpucalc::Object::addSpecificParameter | ( | const std::string & | ParameterName, | |
void * | ParameterValue, | |||
size_t | Size | |||
) | [inline, protected, inherited] |
Definition at line 254 of file object.h.
00255 { 00256 SpecificParametersMap::iterator i = mSpecificParameters.find(ParameterName); 00257 if (i != mSpecificParameters.end()) 00258 { 00259 mSpecificParameters.erase(i); 00260 } 00261 mSpecificParameters[ParameterName] = Any(ParameterValue, Size); 00262 }
const std::string& gpucalc::Object::getClassName | ( | ) | const [inline, inherited] |
Returns name of class of our object.
Definition at line 92 of file object.h.
00093 { 00094 return mClassName; 00095 }
const std::string& gpucalc::Object::getObjectName | ( | ) | const [inline, inherited] |
Returns name of our object.
Definition at line 101 of file object.h.
00102 { 00103 return mObjectName; 00104 }
void gpucalc::Object::getSpecificParameter | ( | const std::string & | ParameterName, | |
void * | ParameterValue | |||
) | [inline, inherited] |
Method for obtaining some specific parameters, such as texture specific params, and so on.
ParameterName | - name of parameter, usually it similar to specific method of some object (for example, GLTextureID) | |
ParameterValue | - contain value of named parameter, it must be allocated and have sufficient size. |
Definition at line 128 of file object.h.
00129 { 00130 SpecificParametersMap::iterator i = mSpecificParameters.find(ParameterName); 00131 if (i != mSpecificParameters.end()) 00132 { 00133 i->second.copyValue(ParameterValue); 00134 } 00135 else 00136 { 00137 Except<ERR_ITEM_NOT_FOUND>(this, "Parameter \"" + ParameterName + "\" does not exists.", "Object::getSpecificParameter()", __FILE__, __LINE__); 00138 } 00139 }
virtual void gpucalc::Plugin::install | ( | ) | [pure virtual] |
Implemented in gpucalc::GLCgShaderSystemPlugin, gpucalc::GLGLSLShaderSystemPlugin, and gpucalc::GLGraphicCorePlugin.
bool gpucalc::Object::isLocked | ( | ) | const [inline, inherited] |
void gpucalc::Object::lock | ( | ) | [inline, protected, inherited] |
virtual void gpucalc::Plugin::uninstall | ( | ) | [pure virtual] |
Implemented in gpucalc::GLCgShaderSystemPlugin, gpucalc::GLGLSLShaderSystemPlugin, and gpucalc::GLGraphicCorePlugin.
void gpucalc::Object::unlock | ( | ) | [inline, protected, inherited] |