AMDAPlugin.cc 4.54 KB
/* -*- Base: 10 ; Mode: C++ -*- */
/*------------------------------------------------------------------------
				     **	
  				FOST project
				     **
--------------------------------------------------------------------------
--------------------------------------------------------------------------
   				FILE LOG
		$Revision: 1.3 $    $Date: 2012-06-15 13:04:42 $
--------------------------------------------------------------------------
CREATION
	V.SAC

SUMMARY

DESCRIPTION

	The main function performs the following actions :
	<ul>
	<li>
	</ul>

------------------------------------------------------------------------*/

//=============================================================================
// 
// History of code
//
// creation 
//
// modification 
//=============================================================================

/**

*/
//=============================================================================
// Include section
//=============================================================================

// Standard libraries include files
//-----------------------------------------------------------------------------
#include <iostream>

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

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

#include "ServicesServer.hh"
#include "PluginManager.hh"
#include "MinMaxMeanStatisticProcess.hh"
#include "MinVarStatisticProcess.hh"
#include "CountStatisticProcess.hh"
#include "CountStatistic.hh"

using namespace AMDA::Parameters;

// Other modules include files
//-----------------------------------------------------------------------------



//=============================================================================
// Methods of Class AMDAPlugin
//=============================================================================



/**
   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*/)
{
	StatisticProcessFactory factMinProcess = boost::factory<AMDA::Statistic::MinMaxMean::MinStatisticProcess*>();
	ServicesServer::getInstance()->addStatisticProcessFactory("min", factMinProcess);

	StatisticProcessFactory factMaxProcess = boost::factory<AMDA::Statistic::MinMaxMean::MaxStatisticProcess*>();
	ServicesServer::getInstance()->addStatisticProcessFactory("max", factMaxProcess);

	StatisticProcessFactory factMeanProcess = boost::factory<AMDA::Statistic::MinMaxMean::MeanStatisticProcess*>();
	ServicesServer::getInstance()->addStatisticProcessFactory("mean", factMeanProcess);
        
                    StatisticProcessFactory factRMSProcess = boost::factory<AMDA::Statistic::MinMaxMean::RMSStatisticProcess*>();
	ServicesServer::getInstance()->addStatisticProcessFactory("RMS", factRMSProcess);

	StatisticProcessFactory factMinVarProcess = boost::factory<AMDA::Statistic::MinVar::MinVarStatisticProcess*>();
	ServicesServer::getInstance()->addStatisticProcessFactory("minvar", factMinVarProcess);
        
        	StatisticProcessFactory factMedianProcess = boost::factory<AMDA::Statistic::MinMaxMean::MedianStatisticProcess*>();
	ServicesServer::getInstance()->addStatisticProcessFactory("median", factMedianProcess);
        
                	StatisticProcessFactory factVarianceProcess = boost::factory<AMDA::Statistic::MinMaxMean::VarianceStatisticProcess*>();
	ServicesServer::getInstance()->addStatisticProcessFactory("variance", factVarianceProcess);
        
                    StatisticProcessFactory factSkewnessProcess = boost::factory<AMDA::Statistic::MinMaxMean::SkewnessStatisticProcess*>();
	ServicesServer::getInstance()->addStatisticProcessFactory("skewness", factSkewnessProcess);
        
                    StatisticProcessFactory factKurtosisProcess = boost::factory<AMDA::Statistic::MinMaxMean::KurtosisStatisticProcess*>();
	ServicesServer::getInstance()->addStatisticProcessFactory("kurtosis", factKurtosisProcess);
        
                   StatisticProcessFactory factCountProcess = boost::factory<AMDA::Statistic::Count::CountStatisticProcess*>();
	ServicesServer::getInstance()->addStatisticProcessFactory("count", factCountProcess);
        
                    StatisticProcessFactory factCountNotNanProcess = boost::factory<AMDA::Statistic::Count::CountNotNanStatisticProcess*>();
	ServicesServer::getInstance()->addStatisticProcessFactory("countNotNan", factCountNotNanProcess);
}