VAT
3.0
Video Analysis Tool
Main Page
ToDo
Modules
Parameters
Classes
Files
File List
File Members
module_macros.h
1
#ifndef MODULE_MACROS_H
2
#define MODULE_MACROS_H
3
4
#define ADD_MODULE(module) \
5
ModuleInterface *ALLOCATE_##module (Datapool *i_data) { \
6
ModuleInterface *m = new module(i_data); \
7
m->name = #module; \
8
m->type = VideoAnalysis::moduleType[#module]; \
9
return m; }
10
11
#define ALLOCATE_MODULE(module) ALLOCATE_##module()
12
13
#define REGISTER_MODULE(name, type) \
14
VideoAnalysis::availableModules.insert(#name); \
15
VideoAnalysis::moduleType[#name] = type; \
16
VideoAnalysis::moduleConstructor[#name] = &ALLOCATE_##name; \
17
VideoAnalysis::modulesByType.insert(std::pair<ModuleType, std::string>(type, #name));
18
#endif // MODULE_MACROS_H
Generated on Fri Jan 15 2016 06:14:51 for VAT by
1.8.11