34 const std::list<PortSharedPtr>& inPorts,
const std::list<PortListSharedPtr>& inPortLists,
39 create(newInterfaceJoinedInfo);
40 newInterfaceJoinedInfo->setPorts(inPorts);
41 if(inParentJoinedInfo) {
42 inParentJoinedInfo->addChildJoinedInfo(newInterfaceJoinedInfo);
43 }
else if(inViewPtr) {
44 inViewPtr->addInterfaceJoinedInfo(newInterfaceJoinedInfo);
46 return newInterfaceJoinedInfo;
77 mJoinedPorts.push_back(inPort);
98 std::list<PortSharedPtr>::const_iterator port = inSource.begin();
99 std::list<PortSharedPtr>::const_iterator end = inSource.end();
100 for(; port != end; ++port) {
116 std::list<PortListSharedPtr>::const_iterator portList = inSource.begin();
117 std::list<PortListSharedPtr>::const_iterator end = inSource.end();
118 for(; portList != end; ++portList) {
136 std::vector<InterfaceJoinedInfoSharedPtr>::const_iterator entry = inSource.begin();
137 std::vector<InterfaceJoinedInfoSharedPtr>::const_iterator end = inSource.end();
138 for(; entry != end; ++entry) {
154 if(!inChildJoinInfo) {
156 e.
saveContextData(
"Pointer to the joined info object does not exist", inChildJoinInfo);
159 if(inChildJoinInfo) {
195 std::vector<InterfaceJoinedInfoSharedPtr> outJoinedInfos;
197 std::vector<InterfaceJoinedInfoSharedPtr>::iterator joinedInfoIt = outJoinedInfos.begin();
199 std::list<PortSharedPtr> outPorts;
201 std::list<PortSharedPtr>::iterator portIt = outPorts.begin();
203 std::list<PortListSharedPtr> outPortLists;
205 std::list<PortListSharedPtr>::iterator portListIt = outPortLists.begin();
208 if(!outPorts.empty()) {
209 pSize = (*portIt)->getSize();
210 }
else if(!outPortLists.empty()) {
211 pSize = (*portListIt)->getSize();
212 }
else if(!outJoinedInfos.empty()) {
213 for(; joinedInfoIt != outJoinedInfos.end(); joinedInfoIt++) {
214 pSize += (*joinedInfoIt)->getSize();
215 for(; portIt != outPorts.end(); portIt++) {
216 pSize += (*portIt)->getSize();
218 for(; portListIt != outPortLists.end(); portListIt++) {
219 pSize += (*portListIt)->getSize();
226 if(!outPorts.empty()) {
227 for(; portIt != outPorts.end(); portIt++) {
228 cSize += (*portIt)->getSize();
231 if(!outPortLists.empty()) {
232 for(; portListIt != outPortLists.end(); portListIt++) {
233 cSize += (*portListIt)->getSize();
236 if(!outJoinedInfos.empty()) {
237 for(; joinedInfoIt != outJoinedInfos.end(); joinedInfoIt++) {
238 cSize += (*joinedInfoIt)->getSize();
242 size = pSize + cSize;
247 mJoinedType(), mRelationType(), mJoinedPorts(), mJoinedPortLists(), mChildren() {}
void getPortLists(std::list< PortListSharedPtr > &outPortLists) const
std::list< PortListSharedPtr > mJoinedPortLists
void runVisitor(_Tp &inoutVisited, BaseVisitor &inoutVisitor)
void addPort(const PortSharedPtr &inPort)
virtual InterfaceJoinedInfoSharedPtr newInterfaceJoinedInfoPtr(const std::list< PortSharedPtr > &inPorts, const std::list< PortListSharedPtr > &inPortLists, const ViewSharedPtr &inViewPtr, const InterfaceJoinedInfoSharedPtr &inParentJoinedInfo=InterfaceJoinedInfoSharedPtr())
The Error object thrown by different methods of EdifOM.
RelationType mRelationType
void setRelationType(const RelationType &inSource)
A base class for Visitor.
Represents the Interface joining information.
bool addChildJoinedInfo(const InterfaceJoinedInfoSharedPtr &inChildJoinInfo)
boost::shared_ptr< PortList > PortListSharedPtr
void saveContextData(const std::string &inName, const boost::any &inSource)
void setPortLists(const std::list< PortListSharedPtr > &inSource)
virtual ~InterfaceJoinedInfo()
void addPortList(const PortListSharedPtr &inPortList)
void getChildren(std::vector< InterfaceJoinedInfoSharedPtr > &outJoinedInfos) const
boost::shared_ptr< View > ViewSharedPtr
boost::shared_ptr< InterfaceJoinedInfo > InterfaceJoinedInfoSharedPtr
void setJoinedType(const JoinedType &inSource)
boost::shared_ptr< Port > PortSharedPtr
const RelationType getRelationType() const
std::vector< InterfaceJoinedInfoSharedPtr > mChildren
void getPorts(std::list< PortSharedPtr > &outPorts) const
void setChildren(const std::vector< InterfaceJoinedInfoSharedPtr > &inSource)
virtual void accept(BaseVisitor &visitor)
Receive a visitor to this class. The visit method of the visitor is called and a reference to this ob...
An object that receives an inoutVisitor.
void setCurrentLocation(const std::string &inFunction, const std::string &inFile, uint32_t inLine)
void setPorts(const std::list< PortSharedPtr > &inSource)