00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "torc/generic/om/LogicalResponse.hpp"
00017 #include "torc/generic/om/Port.hpp"
00018 #include "torc/generic/om/PortList.hpp"
00019 #include "torc/generic/om/LogicElement.hpp"
00020
00021 namespace torc {
00022
00023 namespace generic {
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 LogicalResponseSharedPtr
00036 LogicalResponse::Factory::newLogicalResponsePtr( const ResponseType & inResponseType,
00037 const PortSharedPtr & inPort,
00038 const LogicElementSharedPtr & inLogicWaveForm,
00039 const PortListAliasSharedPtr & inPortListAlias ) throw(Error) {
00040 try
00041 {
00042 LogicalResponseSharedPtr newLogicalResponse;
00043 create( newLogicalResponse );
00044 newLogicalResponse->setResponseType( inResponseType );
00045 newLogicalResponse->setConnectedPort( inPort );
00046 newLogicalResponse->setLogicWaveForm( inLogicWaveForm );
00047 newLogicalResponse->setConnectedPortListAlias( inPortListAlias );
00048 return newLogicalResponse;
00049 }
00050 catch( Error &e )
00051 {
00052 e.setCurrentLocation(
00053 __FUNCTION__, __FILE__, __LINE__ );
00054 throw;
00055 }
00056 }
00057
00058 void
00059 LogicalResponse::accept(BaseVisitor & inoutVisitor) throw(Error) {
00060 try
00061 {
00062 runVisitor( *this, inoutVisitor );
00063 }
00064 catch( Error &e )
00065 {
00066 e.setCurrentLocation(
00067 __FUNCTION__, __FILE__, __LINE__ );
00068 throw;
00069 }
00070 }
00071
00072
00073
00074
00075
00076
00077 void
00078 LogicalResponse::setResponseType( const ResponseType & inSource ) throw() {
00079 mResponseType = inSource;
00080 }
00081
00082
00083
00084
00085
00086
00087 void
00088 LogicalResponse::setConnectedPort( const PortSharedPtr & inPort ) throw() {
00089 mConnectedPort = inPort;
00090 }
00091
00092
00093
00094
00095
00096
00097 void
00098 LogicalResponse::setConnectedPortList( const PortListSharedPtr & inPortList ) throw() {
00099 mConnectedPortList = inPortList;
00100 }
00101
00102
00103
00104
00105
00106
00107 void
00108 LogicalResponse::setConnectedPortListAlias(
00109 const PortListAliasSharedPtr & inPortListAlias ) throw() {
00110 mConnectedPortListAlias = inPortListAlias;
00111 }
00112
00113
00114
00115
00116
00117
00118 void
00119 LogicalResponse::setLogicWaveForm( const LogicElementSharedPtr & inSource ) throw() {
00120 mLogicWaveForm = inSource;
00121 }
00122
00123 LogicalResponse::LogicalResponse()
00124 : Visitable(),
00125 SelfReferencing<LogicalResponse>(),
00126 mResponseType(),
00127 mConnectedPort(),
00128 mConnectedPortList(),
00129 mConnectedPortListAlias(),
00130 mLogicWaveForm() {
00131 }
00132
00133 LogicalResponse::~LogicalResponse() throw() {
00134 }
00135
00136 }
00137
00138 }