Loads plugins from a shared library. More...
#include <Plugin.h>


Public Member Functions | |
| Plugin () | |
| Constructs a Plugin object. | |
| virtual | ~Plugin () |
| Destroys the Plugin object. | |
| QFunctionPointer | GetPlugin (const QString &group) |
| This method returns a void pointer to a C function (i.e., the plugin) It does this by looking in itself (Pvl) for the keyword LIBRARY and the keyword ROUTINE. | |
Loads plugins from a shared library.
This class is used to handle dynamic loading of module/classes. It is rarely used directly but instead is inherited for a particular purpose such as managing class specific map projections or camera models. The class is derived from a PVL which aides in the selection of the shared library and plugin routine to load. For example, assume the file my.plugin contained:
The desired routine can be selected in code as follows:
Obtaining plugins can be difficult to understand. It is suggested you look at ProjectionFactory to get a better understanding of how they are used.
| Isis::Plugin::Plugin | ( | ) |
Constructs a Plugin object.
|
inlinevirtual |
Destroys the Plugin object.
| QFunctionPointer Isis::Plugin::GetPlugin | ( | const QString & | group | ) |
This method returns a void pointer to a C function (i.e., the plugin) It does this by looking in itself (Pvl) for the keyword LIBRARY and the keyword ROUTINE.
When you write this function make sure to place extern "C" infront of it to eliminate C++ symbol mangling.
| group | The group name. |
Referenced by Isis::AtmosModelFactory::Create(), Isis::AutoRegFactory::Create(), Isis::InterestOperatorFactory::Create(), Isis::NormModelFactory::Create(), Isis::NormModelFactory::Create(), Isis::PhotoModelFactory::Create(), and Isis::PolygonSeederFactory::Create().