#ifndef NODEPARAMETER_H_
#define NODEPARAMETER_H_

#include "core/Quantity.h"
#include "include/onchipcommunication/typedefs.h"

namespace cosi {

namespace quantity {

namespace onchipcommunication {

class NodeParameter : public cosi::Quantity {
public:

	NodeParameter();

	virtual ~NodeParameter();

	NodeParameter Get();

	void Set(NodeParameter pLp);

	cosi::library::onchipcommunication::Technology GetTechnology() const;

	void SetTechnology(cosi::library::onchipcommunication::Technology pTech);

	bool operator ==(const NodeParameter &pP) const;

	bool operator <(const NodeParameter &pP) const;

	NodeParameter operator+(NodeParameter pT);
	NodeParameter operator-(NodeParameter pT);

	friend std::ostream
			& operator <<(std::ostream &pOs, const NodeParameter &pP);

	static std::string sQuantityType;
	static std::string sQuantityName;

private:
	cosi::library::onchipcommunication::Technology mTech;
};

}

}

}

#endif /*NODEPARAMETER_H_*/
