00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TORC_GENERIC_OM_PORTLISTALIAS_HPP
00017 #define TORC_GENERIC_OM_PORTLISTALIAS_HPP
00018
00019 #include "torc/generic/om/PointerTypes.hpp"
00020 #include "torc/generic/om/Nameable.hpp"
00021 #include "torc/generic/om/FactoryType.hpp"
00022 #include "torc/generic/om/SelfReferencing.hpp"
00023 #include "torc/generic/om/VisitorType.hpp"
00024
00025 namespace torc { namespace generic { class PortList; } }
00026
00027 namespace torc {
00028
00029 namespace generic {
00030
00031
00032
00033
00034
00035
00036
00037
00038 class PortListAlias
00039 : public Nameable,
00040 public SelfReferencing<PortListAlias> {
00041
00042 friend class FactoryType<PortListAlias>;
00043
00044 public:
00045
00046
00047
00048
00049 typedef VisitorType<PortListAlias> Visitor;
00050
00051 virtual void
00052 accept(BaseVisitor & inoutVisitor) throw(Error);
00053
00054
00055
00056
00057 class Factory: public FactoryType<PortListAlias>
00058 {
00059 public:
00060 using FactoryType<PortListAlias>::create;
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071 virtual PortListAliasSharedPtr
00072 newPortListAliasPtr( const std::string & inName,
00073 const PortListSharedPtr & inPortList,
00074 const SimulateSharedPtr & inSimulate
00075 = SimulateSharedPtr() ) throw(Error);
00076 };
00077
00078
00079
00080
00081
00082
00083 inline const PortListSharedPtr
00084 getPortList() const throw();
00085
00086
00087
00088
00089
00090
00091 void
00092 setPortList( const PortListSharedPtr & inPortList ) throw();
00093
00094 ~PortListAlias() throw();
00095
00096 protected:
00097 PortListAlias();
00098
00099 private:
00100 PortListSharedPtr mPortList;
00101 };
00102
00103 inline const PortListSharedPtr
00104 PortListAlias::getPortList() const throw() {
00105 return mPortList;
00106 }
00107
00108 }
00109
00110 }
00111 #endif // TORC_GENERIC_OM_PORTLISTALIAS_HPP