AMDAPlugin.cc 3.27 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 
//-----------------------------------------------------------------------------
#include <boost/functional/value_factory.hpp>

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

// Parameters module include
#include "ServicesServer.hh"
#include "PluginManager.hh"

// XMLRequest module include
#include "XMLRequestParser.hh"

#include "OutputIntervalTrueNode.hh"

using namespace AMDA::Parameters;
using namespace AMDA::XMLRequest;
using namespace AMDA::ParamOutputImpl::Download;

// 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)
{
	AMDA::XMLRequest::XMLRequestParser* lXMLRequestParser = ServicesServer::getInstance()->getService<AMDA::XMLRequest::XMLRequestParser*>();
	if (lXMLRequestParser) {
		lXMLRequestParser->addNodeParser("request/outputs/intervalTrue",AMDA::XMLConfigurator::NodeCfgSPtr(new OutputIntervalTrueNode));
	}
                    ServicesServer::getInstance()->linkParamOutputsWithPlugin("intervalTrue", pm.getCurrentPluginPath());
}

/**
   Tells us to unregister our functionality to an engine kernel
*/
/*
extern "C" void unregisterPlugin()
{
	//ParamOutputFactory fact = boost::factory<ParamOutputASCIIFile*>();
	//ServicesServer::getInstance()->addParamOutputFactory(std::string("ASCII_FILE"),boost::bind(boost::value_factory<ParamOutputASCIIFile>(),_1));
	AMDA::XMLRequest::XMLRequestParser* lXMLRequestParser = ServicesServer::getInstance()->getService<AMDA::XMLRequest::XMLRequestParser*>();
	if (lXMLRequestParser) {
		lXMLRequestParser->addNodeParser("request/outputs/intervalTrue",AMDA::XMLConfigurator::NodeCfgSPtr());
	}
}
*/