libraries/wiredbas/link/TwistedPair.h

Go to the documentation of this file.
00001 //============================================================================
00002 // Author      : Alessandro Pinto <apinto@eecs.berkeley.edu>
00003 //               University of California, Berkeley
00004 //               545 Cory Hall, Berkeley, CA 94720
00005 // Copyright   : See COPYING file that comes with this distribution
00006 //============================================================================
00007 
00008 #ifndef TWISTED_PAIR_H_
00009 #define TWISTED_PAIR_H_
00010 
00011 #include <string>
00012 #include "networks/wiredbas/WiredBasPlatformInstance.h"
00013 #include "networks/wiredbas/WiredBasImplementation.h"
00014 #include "quantities/WiringPath.h"
00015 #include "quantities/RealLatency.h"
00016 #include "quantities/Name.h"
00017 #include "quantities/Ports.h"
00018 #include "libraries/wiredbas/common/Link.h"
00019 #include "models/wiredbas/link/TwistedPairDelay.h"
00020 #include "models/wiredbas/link/TwistedPairCost.h"
00021 
00022 namespace cosi {
00023 
00024 namespace library {
00025 
00026 namespace wiredbas {
00027 
00028 class TwistedPair : public cosi::library::wiredbas::Link {
00029 
00030         cosi::models::wiredbas::TwistedPairDelay* mDelayModel;
00031 
00032         cosi::models::wiredbas::TwistedPairCost* mCostModel;
00033 
00034 public:
00035 
00036         TwistedPair(cosi::models::wiredbas::TwistedPairDelay* pDelayModel,cosi::models::wiredbas::TwistedPairCost* pCostModel);
00037 
00038         virtual ~TwistedPair();
00039 
00040         void SetDelayModel(cosi::models::wiredbas::TwistedPairDelay* pDelay);
00041 
00042         void SetCostModel(cosi::models::wiredbas::TwistedPairCost* pCost);
00043 
00044         RealDelay GetDelay(WiringPath pPath);
00045 
00046         double GetDelayValue(WiringPath pPath);
00047 
00048         double GetCost(WiringPath pPath);
00049 
00050         cosi::commstruct::wiredbas::PlatformInstance* GetPlatformInstance(
00051                         int U, std::string pPortU , int V , std::string pPortV);
00052 
00053         cosi::commstruct::wiredbas::Implementation
00054                         * GetImplementationInstance(int U, std::string pPortU, int V, std::string pPortV, WiringPath pPath);
00055 
00056         static std::string ComponentName;
00057         static std::string ComponentType;
00058 
00059 };
00060 
00061 }
00062 }
00063 }
00064 
00065 #endif /*TWISTEDPAIR_H_*/

Generated on Sun Sep 7 18:37:42 2008 for COSI by  doxygen 1.5.4
Contact 
©2002-2018 U.C. Regents