#ifndef ETHERNETNETWORKCOST_H_
#define ETHERNETNETWORKCOST_H_

#include "networks/wiredbas/WiredBasPlatformInstance.h"
#include "networks/wiredbas/WiredBasImplementation.h"
#include "models/wiredbas/common/NetworkCost.h"
#include "models/wiredbas/common/WireCost.h"
#include "models/wiredbas/node/EthernetNodeCost.h"

namespace cosi {

namespace models {

namespace wiredbas {

class EthernetNetworkCost : public NetworkCost {
	cosi::models::wiredbas::EthernetNodeCost* mNodeCost;
	cosi::models::wiredbas::WireCost* mWireCost;
public:
	EthernetNetworkCost(cosi::models::wiredbas::WireCost* mWireCost);
	virtual ~EthernetNetworkCost();

	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 /*ETHERNETNETWORKCOST_H_*/
