EventInfo.cc revision 10447
112340Szulian@eit.uni-kl.de#include "model/EventInfo.h" 212340Szulian@eit.uni-kl.de 312340Szulian@eit.uni-kl.de#include "model/PortInfo.h" 412340Szulian@eit.uni-kl.de#include "model/TransitionInfo.h" 512340Szulian@eit.uni-kl.de 612340Szulian@eit.uni-kl.denamespace DSENT 712340Szulian@eit.uni-kl.de{ 812340Szulian@eit.uni-kl.de EventInfo::EventInfo(const String& event_name_, const Map<PortInfo*>* port_infos_) 912340Szulian@eit.uni-kl.de : m_event_name_(event_name_) 1012340Szulian@eit.uni-kl.de { 1112340Szulian@eit.uni-kl.de m_trans_info_map_ = new Map<TransitionInfo>; 1212340Szulian@eit.uni-kl.de 1312340Szulian@eit.uni-kl.de // Get the name of each input port and add a transition info for it 1412340Szulian@eit.uni-kl.de Map<PortInfo*>::ConstIterator it_begin = port_infos_->begin(); 1512340Szulian@eit.uni-kl.de Map<PortInfo*>::ConstIterator it_end = port_infos_->end(); 1612340Szulian@eit.uni-kl.de Map<PortInfo*>::ConstIterator it; 1712340Szulian@eit.uni-kl.de for(it = it_begin; it != it_end; ++it) 1812340Szulian@eit.uni-kl.de { 1912340Szulian@eit.uni-kl.de const String& port_name = it->first; 2012340Szulian@eit.uni-kl.de m_trans_info_map_->set(port_name, TransitionInfo()); 2112340Szulian@eit.uni-kl.de } 2212340Szulian@eit.uni-kl.de } 2312340Szulian@eit.uni-kl.de 2412340Szulian@eit.uni-kl.de EventInfo::~EventInfo() 2512340Szulian@eit.uni-kl.de { 2612340Szulian@eit.uni-kl.de delete m_trans_info_map_; 2712340Szulian@eit.uni-kl.de } 2812340Szulian@eit.uni-kl.de 2912340Szulian@eit.uni-kl.de const String& EventInfo::getEventName() const 3012340Szulian@eit.uni-kl.de { 3112340Szulian@eit.uni-kl.de return m_event_name_; 3212340Szulian@eit.uni-kl.de } 3312340Szulian@eit.uni-kl.de 3412340Szulian@eit.uni-kl.de void EventInfo::setTransitionInfo(const String& port_name_, const TransitionInfo& trans_info_) 3512340Szulian@eit.uni-kl.de { 3612340Szulian@eit.uni-kl.de ASSERT(m_trans_info_map_->keyExist(port_name_), "[Error] " + getEventName() + 3712340Szulian@eit.uni-kl.de " -> Port (" + port_name_ + ") does not exist!"); 3812340Szulian@eit.uni-kl.de 3912340Szulian@eit.uni-kl.de m_trans_info_map_->set(port_name_, trans_info_); 4012340Szulian@eit.uni-kl.de return; 4112340Szulian@eit.uni-kl.de } 4212340Szulian@eit.uni-kl.de 4312340Szulian@eit.uni-kl.de void EventInfo::setStaticTransitionInfo(const String& port_name_) 4412340Szulian@eit.uni-kl.de { 4512340Szulian@eit.uni-kl.de ASSERT(m_trans_info_map_->keyExist(port_name_), "[Error] " + getEventName() + 4612340Szulian@eit.uni-kl.de " -> Port (" + port_name_ + ") does not exist!"); 4712340Szulian@eit.uni-kl.de 4812340Szulian@eit.uni-kl.de m_trans_info_map_->set(port_name_, TransitionInfo(0.5, 0.0, 0.5)); 4912340Szulian@eit.uni-kl.de return; 5012340Szulian@eit.uni-kl.de } 5112340Szulian@eit.uni-kl.de 5212340Szulian@eit.uni-kl.de void EventInfo::setRandomTransitionInfos() 5312340Szulian@eit.uni-kl.de { 5412340Szulian@eit.uni-kl.de Map<TransitionInfo>::Iterator it_begin = m_trans_info_map_->begin(); 5512340Szulian@eit.uni-kl.de Map<TransitionInfo>::Iterator it_end = m_trans_info_map_->end(); 5612340Szulian@eit.uni-kl.de Map<TransitionInfo>::Iterator it; 5712340Szulian@eit.uni-kl.de for(it = it_begin; it != it_end; ++it) 5812340Szulian@eit.uni-kl.de { 5912340Szulian@eit.uni-kl.de TransitionInfo& trans_info = it->second; 6012340Szulian@eit.uni-kl.de trans_info = TransitionInfo(); 6112340Szulian@eit.uni-kl.de } 6212340Szulian@eit.uni-kl.de return; 6312340Szulian@eit.uni-kl.de } 6412340Szulian@eit.uni-kl.de 6512340Szulian@eit.uni-kl.de void EventInfo::setStaticTransitionInfos() 6612340Szulian@eit.uni-kl.de { 6712340Szulian@eit.uni-kl.de Map<TransitionInfo>::Iterator it_begin = m_trans_info_map_->begin(); 6812340Szulian@eit.uni-kl.de Map<TransitionInfo>::Iterator it_end = m_trans_info_map_->end(); 6912340Szulian@eit.uni-kl.de Map<TransitionInfo>::Iterator it; 7012340Szulian@eit.uni-kl.de for(it = it_begin; it != it_end; ++it) 7112340Szulian@eit.uni-kl.de { 7212340Szulian@eit.uni-kl.de TransitionInfo& trans_info = it->second; 7312340Szulian@eit.uni-kl.de trans_info = TransitionInfo(0.5, 0.0, 0.5); 7412340Szulian@eit.uni-kl.de } 7512340Szulian@eit.uni-kl.de return; 7612340Szulian@eit.uni-kl.de } 7712340Szulian@eit.uni-kl.de 7812340Szulian@eit.uni-kl.de const TransitionInfo& EventInfo::getTransitionInfo(const String& port_name_) const 7912340Szulian@eit.uni-kl.de { 8012340Szulian@eit.uni-kl.de ASSERT(m_trans_info_map_->keyExist(port_name_), "[Error] " + getEventName() + 8112340Szulian@eit.uni-kl.de " -> Port (" + port_name_ + ") does not exist!"); 8212340Szulian@eit.uni-kl.de 8312340Szulian@eit.uni-kl.de return m_trans_info_map_->get(port_name_); 84 } 85} // namespace DSENT 86 87