AMDAPlugin.cc
3.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
// Standard libraries include files
//-----------------------------------------------------------------------------
#include <iostream>
// Include oriented definitions
//-----------------------------------------------------------------------------
// Module Kernel include files
//-----------------------------------------------------------------------------
#include "ProcessStatisticFunctions.hh"
#include "CorrelationProcess.hh"
#include "ServicesServer.hh"
#include "PluginManager.hh"
using namespace AMDA::Parameters;
// Other modules include files
//-----------------------------------------------------------------------------
/**
Retrieve the Plugin version we're going to expect
*/
extern "C" const char* getPluginVersion() {
return "(Version)";
}
/**
Tells us to register our functionality to an engine kernel
*/
extern "C" void registerPlugin(AMDA::Plugins::PluginManager & pm) {
std::string pluginPath = pm.getCurrentPluginPath();
ProcessFactory factProcessMinFunc = boost::factory<ProcessMinFunc*>();
ServicesServer::getInstance()->addProcessFactory("min", factProcessMinFunc);
ServicesServer::getInstance()->linkProcessWithPlugin("min", pluginPath);
ProcessFactory factProcessMinSmFunc = boost::factory<ProcessMinSmFunc*>();
ServicesServer::getInstance()->addProcessFactory("min_sm", factProcessMinSmFunc);
ServicesServer::getInstance()->linkProcessWithPlugin("min_sm", pluginPath);
ProcessFactory factProcessMaxFunc = boost::factory<ProcessMaxFunc*>();
ServicesServer::getInstance()->addProcessFactory("max", factProcessMaxFunc);
ServicesServer::getInstance()->linkProcessWithPlugin("max", pluginPath);
ProcessFactory factProcessMaxSmFunc = boost::factory<ProcessMaxSmFunc*>();
ServicesServer::getInstance()->addProcessFactory("max_sm", factProcessMaxSmFunc);
ServicesServer::getInstance()->linkProcessWithPlugin("max_sm", pluginPath);
ProcessFactory factProcessVarFunc = boost::factory<ProcessVarFunc*>();
ServicesServer::getInstance()->addProcessFactory("var", factProcessVarFunc);
ServicesServer::getInstance()->linkProcessWithPlugin("var", pluginPath);
ProcessFactory factProcessVarSmFunc = boost::factory<ProcessVarSmFunc*>();
ServicesServer::getInstance()->addProcessFactory("var_sm", factProcessVarSmFunc);
ServicesServer::getInstance()->linkProcessWithPlugin("var_sm", pluginPath);
ProcessFactory factProcessRmsFunc = boost::factory<ProcessRmsFunc*>();
ServicesServer::getInstance()->addProcessFactory("rms", factProcessRmsFunc);
ServicesServer::getInstance()->linkProcessWithPlugin("rms", pluginPath);
ProcessFactory factProcessRmsSmFunc = boost::factory<ProcessRmsSmFunc*>();
ServicesServer::getInstance()->addProcessFactory("rms_sm", factProcessRmsSmFunc);
ServicesServer::getInstance()->linkProcessWithPlugin("rms_sm", pluginPath);
ProcessFactory factProcessSkewFunc = boost::factory<ProcessSkewFunc*>();
ServicesServer::getInstance()->addProcessFactory("skew", factProcessSkewFunc);
ServicesServer::getInstance()->linkProcessWithPlugin("skew", pluginPath);
ProcessFactory factProcessSkewSmFunc = boost::factory<ProcessSkewSmFunc*>();
ServicesServer::getInstance()->addProcessFactory("skew_sm", factProcessSkewSmFunc);
ServicesServer::getInstance()->linkProcessWithPlugin("skew_sm", pluginPath);
ProcessFactory factProcessMedianFunc = boost::factory<ProcessMedianFunc*>();
ServicesServer::getInstance()->addProcessFactory("median", factProcessMedianFunc);
ServicesServer::getInstance()->linkProcessWithPlugin("median", pluginPath);
ProcessFactory factProcessCorrelation = boost::factory<CorrelationProcess*>();
ServicesServer::getInstance()->addProcessFactory("statCorrelation", factProcessCorrelation);
ServicesServer::getInstance()->linkProcessWithPlugin("statCorrelation", pluginPath);
}