]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/trafficmanager.cpp
Compute deterministic IDs for blocks
[r2c2.git] / source / libmarklin / trafficmanager.cpp
index b652d04cc5eeddb483ae9eb6792b9725f9240ca6..49dda42954d05ccdcb8b58f067899743111c4dbf 100644 (file)
@@ -58,6 +58,15 @@ TrafficManager::~TrafficManager()
                delete *i;
 }
 
+Block &TrafficManager::get_block(unsigned id) const
+{
+       for(list<Block *>::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<Block *>::const_iterator i=blocks.begin(); i!=blocks.end(); ++i)