AMDAPlugin.cc 3.42 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 "Resampling.hh"
#include "ServicesServer.hh"
#include "PluginManager.hh"
#include "ProcessStandard.hh"
#include "ProcessSamplingClassic.hh"
#include "ProcessSamplingUnderRefParam.hh"
#include "ParamTableProcess.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) {
    std::string pluginPath =  pm.getCurrentPluginPath();
    ProcessFactory factProcessStandard = boost::factory<ProcessStandard*>();
    ProcessFactory factProcessSamplingClassic = boost::factory<ProcessSamplingClassic*>();
    ProcessFactory factProcessSamplingUnderRefParam = boost::factory<ProcessSamplingUnderRefParam*>();
    ProcessFactory factParamTableProcess = boost::factory<ParamTableProcess*>();

    ServicesServer::getInstance()->addProcessFactory("standard", factProcessStandard);
    ServicesServer::getInstance()->linkProcessWithPlugin("standard", pluginPath);

    ServicesServer::getInstance()->addProcessFactory("sampling_classic", factProcessSamplingClassic);
    ServicesServer::getInstance()->linkProcessWithPlugin("sampling_classic", pluginPath);

    ServicesServer::getInstance()->addProcessFactory("sampling_under_refparam", factProcessSamplingUnderRefParam);
    ServicesServer::getInstance()->linkProcessWithPlugin("sampling_under_refparam", pluginPath);

    ServicesServer::getInstance()->addProcessFactory("tableparamtoparameter", factParamTableProcess);
    ServicesServer::getInstance()->linkProcessWithPlugin("tableparamtoparameter", pluginPath);
}