AsciiPlotOutputNode.hh 991 Bytes
/*
 * AsciiPlotOutputNode.hh
 *
 *  Created on: Dec 6, 2013
 *      Author: amdadev
 */

#ifndef ASCIIPLOTOUTPUTNODE_HH_
#define ASCIIPLOTOUTPUTNODE_HH_

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

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

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

class AsciiPlotOutputNode: public plot::AbstractPanelPlotNode {
public:
	AsciiPlotOutputNode();
	virtual ~AsciiPlotOutputNode();
protected:
	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 /* ASCIIPLOTOUTPUTNODE_HH_ */