libraries/Link.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 LIBRARIES_LINK_H_
00009 #define LIBRARIES_LINK_H_
00010 
00011 #include <string>
00012 #include "quantities/Ports.h"
00013 #include "quantities/Name.h"
00014 #include "quantities/Type.h"
00015 
00016 
00017 namespace cosi {
00018 
00019 namespace library {
00020 
00036 class Link {
00037 
00038 public:
00039 
00043         Link();
00044 
00046         virtual ~Link();
00047 
00053         void SetName(std::string pS);
00054 
00056         std::string GetName();
00057 
00063         void SetType(std::string pS);
00064 
00066         std::string GetType();
00067 
00072         void SetSource(Name pS);
00073 
00075         Name GetSource();
00076 
00081         void SetDestination(Name pS);
00082 
00084         Name GetDestination();
00085 
00090         void SetSourceInterface(PortInterface pIf);
00091 
00093         PortInterface GetSourceInterface();
00094 
00099         void SetDestinationInterface(PortInterface pIf);
00100 
00102         PortInterface GetDestinationInterface();
00103 
00104         bool Directed() ;
00105         void Directed(bool pD) ;
00106 
00107 private:
00108 
00110         bool mDirected;
00111 
00113         std::string mName;
00114 
00116         std::string mType;
00117 
00119         Name mSource;
00120 
00122         Name mDest;
00123 
00125         PortInterface mSourceInterface;
00126 
00128         PortInterface mDestInterface;
00129 
00130 };
00131 
00132 }
00133 }
00134 
00135 #endif /*LINK_H_*/

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