AMDAPlugin.cc 2.54 KB
// Standard libraries include files
//-----------------------------------------------------------------------------
#include <iostream>

// Include oriented definitions 
//-----------------------------------------------------------------------------

// Module Kernel include files
//-----------------------------------------------------------------------------

#include "ProcessStatisticFunctions.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*/)
{
	ProcessFactory factProcessMinFunc = boost::factory<ProcessMinFunc*>();
	ServicesServer::getInstance()->addProcessFactory("min", factProcessMinFunc);

	ProcessFactory factProcessMinSmFunc = boost::factory<ProcessMinSmFunc*>();
	ServicesServer::getInstance()->addProcessFactory("min_sm", factProcessMinSmFunc);

	ProcessFactory factProcessMaxFunc = boost::factory<ProcessMaxFunc*>();
	ServicesServer::getInstance()->addProcessFactory("max", factProcessMaxFunc);

	ProcessFactory factProcessMaxSmFunc = boost::factory<ProcessMaxSmFunc*>();
	ServicesServer::getInstance()->addProcessFactory("max_sm", factProcessMaxSmFunc);

	ProcessFactory factProcessVarFunc = boost::factory<ProcessVarFunc*>();
	ServicesServer::getInstance()->addProcessFactory("var", factProcessVarFunc);

	ProcessFactory factProcessVarSmFunc = boost::factory<ProcessVarSmFunc*>();
	ServicesServer::getInstance()->addProcessFactory("var_sm", factProcessVarSmFunc);

	ProcessFactory factProcessRmsFunc = boost::factory<ProcessRmsFunc*>();
	ServicesServer::getInstance()->addProcessFactory("rms", factProcessRmsFunc);

	ProcessFactory factProcessRmsSmFunc = boost::factory<ProcessRmsSmFunc*>();
	ServicesServer::getInstance()->addProcessFactory("rms_sm", factProcessRmsSmFunc);

	ProcessFactory factProcessSkewFunc = boost::factory<ProcessSkewFunc*>();
	ServicesServer::getInstance()->addProcessFactory("skew", factProcessSkewFunc);

	ProcessFactory factProcessSkewSmFunc = boost::factory<ProcessSkewSmFunc*>();
	ServicesServer::getInstance()->addProcessFactory("skew_sm", factProcessSkewSmFunc);

	ProcessFactory factProcessMedianFunc = boost::factory<ProcessMedianFunc*>();
	ServicesServer::getInstance()->addProcessFactory("median", factProcessMedianFunc);
}