#include "AppConfig.h"#include "ConfigurationSettings.h"#include "External.h"#include <algorithm>#include <stdlib.h>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| class | DynamicPlugInFactory |
| This class is used to perform dynamic plug-in registration. More... | |
Defines | |
| #define | MOD_ZERO 0 |
| #define | MOD_ONE 1 |
| #define | MOD_TWO 2 |
| #define | MOD_THREE 3 |
| #define | DEBUG_BOOL false |
| #define | REGISTER_MODULE_BASIC(name__, moduleNamespace__, canCache__, modVersion__) |
| #define | REGISTER_NON_CACHED_MODULE(name__) |
| #define | REGISTER_MODULE(name__) |
| #define | REGISTER_DYNAMIC_MODULE(name__, dynamicFactoryClass__) |
| #define | REGISTER_V2_MODULE(name__) |
| #define | REGISTER_V2_DYNAMIC_MODULE(name__, dynamicFactoryClass__) |
| #define | REGISTER_PLUGIN(moduleNamespace__, pluginname__, className__) |
| #define | REGISTER_PLUGIN_BASIC(moduleNamespace__, name__) REGISTER_PLUGIN(moduleNamespace__, name__, name__) |
| #define | GENERATE_FACTORY(moduleNamespace__) |
| #define | GENERATE_DYNAMIC_FACTORY(moduleNamespace__, dynamicFactoryClass__) |
| #define DEBUG_BOOL false |
Definition at line 82 of file PlugInRegistration.h.
| #define GENERATE_DYNAMIC_FACTORY | ( | moduleNamespace__, | |||
| dynamicFactoryClass__ | ) |
Definition at line 408 of file PlugInRegistration.h.
| #define GENERATE_FACTORY | ( | moduleNamespace__ | ) |
Definition at line 372 of file PlugInRegistration.h.
| #define MOD_ONE 1 |
Definition at line 24 of file PlugInRegistration.h.
| #define MOD_THREE 3 |
Definition at line 26 of file PlugInRegistration.h.
| #define MOD_TWO 2 |
Definition at line 25 of file PlugInRegistration.h.
| #define MOD_ZERO 0 |
Definition at line 23 of file PlugInRegistration.h.
| #define REGISTER_DYNAMIC_MODULE | ( | name__, | |||
| dynamicFactoryClass__ | ) |
Value:
GENERATE_DYNAMIC_FACTORY(name__, dynamicFactoryClass__) \ REGISTER_MODULE_BASIC(name__, name__, false, MOD_THREE)
Definition at line 122 of file PlugInRegistration.h.
| #define REGISTER_MODULE | ( | name__ | ) |
Value:
GENERATE_FACTORY(name__) \ REGISTER_MODULE_BASIC(name__, name__, true, MOD_THREE)
Definition at line 118 of file PlugInRegistration.h.
| #define REGISTER_MODULE_BASIC | ( | name__, | |||
| moduleNamespace__, | |||||
| canCache__, | |||||
| modVersion__ | ) |
Value:
extern "C" \ { \ struct OpticksModuleDescriptor name__##Descriptor = \ { \ modVersion__, \ #name__, \ #name__ "InstantiatePlugIn", \ DEBUG_BOOL, \ canCache__ \ }; \ LINKAGE struct OpticksModuleDescriptor* opticks_get_module_descriptor(External*) \ { \ return &name__##Descriptor; \ } \ LINKAGE bool name__##InstantiatePlugIn(External* pExternal, unsigned int plugInNumber, PlugIn** pPlugIn) \ { \ ModuleManager::instance()->setService(pExternal); \ *pPlugIn = moduleNamespace__::getPlugIn(plugInNumber); \ return *pPlugIn != NULL; \ } \ }; \ const char* ModuleManager::mspName = NULL; \ const char* ModuleManager::mspVersion = NULL; \ const char* ModuleManager::mspDescription = NULL; \ const char* ModuleManager::mspValidationKey = NULL; \ const char* ModuleManager::mspUniqueId = NULL; \ unsigned int ModuleManager::getTotalPlugIns() { return 0; } \ PlugIn* ModuleManager::getPlugIn(unsigned int) { return NULL; }
Definition at line 84 of file PlugInRegistration.h.
| #define REGISTER_NON_CACHED_MODULE | ( | name__ | ) |
Value:
GENERATE_FACTORY(name__) \ REGISTER_MODULE_BASIC(name__, name__, false, MOD_THREE)
Definition at line 114 of file PlugInRegistration.h.
| #define REGISTER_PLUGIN | ( | moduleNamespace__, | |||
| pluginname__, | |||||
| className__ | ) |
Value:
namespace moduleNamespace__ \ { \ void addFactory(PlugInFactory*); \ class pluginname__##PlugInFactory : public BasicPlugInFactory \ { \ public: \ pluginname__##PlugInFactory(const std::string& name) : BasicPlugInFactory(name) \ { \ moduleNamespace__::addFactory(this); \ } \ virtual ~pluginname__##PlugInFactory() {}; \ PlugIn* createPlugIn(const std::string& name) \ { \ return new className__; \ } \ }; \ static pluginname__##PlugInFactory pluginname__##pluginFactory(#pluginname__); \ }
Definition at line 350 of file PlugInRegistration.h.
| #define REGISTER_PLUGIN_BASIC | ( | moduleNamespace__, | |||
| name__ | ) | REGISTER_PLUGIN(moduleNamespace__, name__, name__) |
Definition at line 370 of file PlugInRegistration.h.
| #define REGISTER_V2_DYNAMIC_MODULE | ( | name__, | |||
| dynamicFactoryClass__ | ) |
Value:
GENERATE_DYNAMIC_FACTORY(name__, dynamicFactoryClass__) \ REGISTER_MODULE_BASIC(name__, name__, false, MOD_TWO)
Definition at line 130 of file PlugInRegistration.h.
| #define REGISTER_V2_MODULE | ( | name__ | ) |
Value:
GENERATE_FACTORY(name__) \ REGISTER_MODULE_BASIC(name__, name__, true, MOD_TWO)
Definition at line 126 of file PlugInRegistration.h.