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

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

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

#include "ProcessTsyganenko96.hh"
#include "ProcessTiltAngle.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 factProcessTsyganenko96GSM = boost::factory<ProcessTsyganenko96GSM*>();
    ServicesServer::getInstance()->addProcessFactory("tsyganenko_96", factProcessTsyganenko96GSM);
    ServicesServer::getInstance()->linkProcessWithPlugin("tsyganenko_96", pm.getCurrentPluginPath());

    ProcessFactory factProcessTsyganenko96GSE = boost::factory<ProcessTsyganenko96GSE*>();
    ServicesServer::getInstance()->addProcessFactory("tsyganenko_96_gse", factProcessTsyganenko96GSE);
    ServicesServer::getInstance()->linkProcessWithPlugin("tsyganenko_96_gse", pm.getCurrentPluginPath());
    
    ProcessFactory factProcessTiltAngle= boost::factory<ProcessTiltAngle*>();
    ServicesServer::getInstance()->addProcessFactory("tilt_angle", factProcessTiltAngle);
    ServicesServer::getInstance()->linkProcessWithPlugin("tilt_angle", pm.getCurrentPluginPath());
     
}