EpochPlotNode.hh 1.01 KB
/*
 * EpochPlotNode.hh
 *
 *  Created on: Jan 16, 2015
 *      Author: AKKA
 */

#ifndef EPOCHPLOTNODE_HH_
#define EPOCHPLOTNODE_HH_

#include <boost/smart_ptr/shared_ptr.hpp>
#include <libxml/tree.h>

#include "PanelPlotOutput.hh"
#include "PlotOutput.hh"
#include "AbstractPanelPlotNode.hh"
#include "Panel.hh"

namespace plot {
/**
 * xml node name, this name is used in both config and request xml files.
 */
#define EPOCHPLOT_NODENAME "epochPlot"

class EpochPlotNode: public AbstractPanelPlotNode {
public:
	/**
	 * Default contstructor.
	 */
	EpochPlotNode();
	/**
	 * destructor
	 */
	virtual ~EpochPlotNode();
protected:
	/**
	 * @overload plot::AbstractPanelPlotNode::proceed
	 */
	boost::shared_ptr<PanelPlotOutput> proceed(xmlNodePtr, PlotOutput*, Panel*);

private:
	/**
	 * constant to uniquely identify this node in the registry
	 */
	static const std::string NODENAME;
	/**
	 * artificial special attribute to force registering node.
	 */
	static std::string _key;

};

}  // namespace plot

#endif /* EPOCHPLOTNODE_HH_ */