X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Flibmarklin%2Ftrafficmanager.cpp;h=49dda42954d05ccdcb8b58f067899743111c4dbf;hb=dcfa1e9503b7e97b61396d7458f0b2e5896779cd;hp=b652d04cc5eeddb483ae9eb6792b9725f9240ca6;hpb=6dc18b0e518407bd2a86602bae1e9bbae05da7c8;p=r2c2.git diff --git a/source/libmarklin/trafficmanager.cpp b/source/libmarklin/trafficmanager.cpp index b652d04..49dda42 100644 --- a/source/libmarklin/trafficmanager.cpp +++ b/source/libmarklin/trafficmanager.cpp @@ -58,6 +58,15 @@ TrafficManager::~TrafficManager() delete *i; } +Block &TrafficManager::get_block(unsigned id) const +{ + for(list::const_iterator i=blocks.begin(); i!=blocks.end(); ++i) + if((*i)->get_id()==id) + return **i; + + throw KeyError("Unknown block", lexical_cast(id)); +} + Block &TrafficManager::get_block_by_track(const Track &t) const { for(list::const_iterator i=blocks.begin(); i!=blocks.end(); ++i)