AMDAPlugin.cc 1.55 KB
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
#include "ServicesServer.hh"
#include "PluginManager.hh"

#include "InternalFields_CartProcess.hh"
#include "InternalFields_MagProcess.hh"
#include "InternalFields_PolProcess.hh"

using namespace AMDA::Parameters;

/**
   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 factInternalFields_CartProcess = boost::factory<InternalFields_CartProcess *>();
  ServicesServer::getInstance()->addProcessFactory("internalfield_cart", factInternalFields_CartProcess);
  ServicesServer::getInstance()->linkProcessWithPlugin("internalfield_cart", pm.getCurrentPluginPath());

  ProcessFactory factInternalFields_MagProcess = boost::factory<InternalFields_MagProcess *>();
  ServicesServer::getInstance()->addProcessFactory("internalfield_mag", factInternalFields_MagProcess);
  ServicesServer::getInstance()->linkProcessWithPlugin("internalfield_mag", pm.getCurrentPluginPath());

  ProcessFactory factInternalFields_PolProcess = boost::factory<InternalFields_PolProcess *>();
  ServicesServer::getInstance()->addProcessFactory("internalfield_pol", factInternalFields_PolProcess);
  ServicesServer::getInstance()->linkProcessWithPlugin("internalfield_pol", pm.getCurrentPluginPath());
}