#ifndef ARCNETBUSCOST_H_
#define ARCNETBUSCOST_H_

#include "networks/wiredbas/WiredBasPlatformInstance.h"
#include "networks/wiredbas/WiredBasImplementation.h"
#include "models/wiredbas/common/BusCost.h"
#include "models/wiredbas/common/WireCost.h"
#include "models/wiredbas/node/ArcnetNodeCost.h"

namespace cosi {

namespace models {

namespace wiredbas {

class ArcnetBusCost : public BusCost {
	cosi::models::wiredbas::ArcnetNodeCost* mNodeCost;
	cosi::models::wiredbas::WireCost* mWireCost;
public:

	ArcnetBusCost(cosi::models::wiredbas::WireCost* pWireCost);

	~ArcnetBusCost();

	void SetWireCost(cosi::models::wiredbas::WireCost* pWireCost);

	double GetValue(cosi::commstruct::wiredbas::PlatformInstance pC);

	double GetValue(cosi::commstruct::wiredbas::PlatformInstance* pC);

	double GetValue(cosi::commstruct::wiredbas::Implementation pC);

	double GetValue(cosi::commstruct::wiredbas::Implementation* pC);

};

}

}

}

#endif /*ARCNETBUSCOST_H_*/
