#ifndef INSTANTIABLENODE_H_
#define INSTANTIABLENODE_H_

#include "libraries/onchipcommunication/common/_Node.h"
#include "networks/onchipcommunication/PlatformInstance.h"
#include "networks/onchipcommunication/Implementation.h"
#include "quantities/onchipcommunication/NodeParameter.h"

namespace cosi
{

namespace library
{

namespace onchipcommunication
{

class InstantiableNode : public _Node
{
public:
	InstantiableNode(){};
	virtual ~InstantiableNode(){};
	virtual cosi::commstruct::onchipcommunication::PlatformInstance* GetPlatformInstance(int V , Position pP  ) =0 ;
	virtual cosi::commstruct::onchipcommunication::Implementation* GetImplementationInstance(int V , Position pP , TransferTable pT ) =0;
};

}

}

}

#endif /*INSTANTIABLENODE_H_*/
