namespace Marklin {
+class ArticleNumber;
class Block;
class Catalogue;
class Driver;
Loader(Layout &);
private:
virtual void finish();
+ void route();
void route(const std::string &);
void track(unsigned);
+ void track(ArticleNumber);
void train(unsigned, unsigned);
+ void train(ArticleNumber, unsigned);
};
public:
Driver *driver;
std::string base;
std::set<Track *> tracks;
- std::map<std::string, Route *> routes;
+ std::set<Route *> routes;
std::set<Block *> blocks;
std::map<unsigned, Train *> trains;
std::set<Vehicle *> vehicles;
void add_track(Track &);
const std::set<Track *> &get_tracks() const { return tracks; }
void remove_track(Track &);
- unsigned allocate_turnout_id();
+ unsigned allocate_turnout_id(bool);
void add_block(Block &);
Block &get_block(unsigned) const;
- Block &get_block_by_track(const Track &) const;
const std::set<Block *> &get_blocks() const { return blocks; }
void create_blocks();
- void create_blocks(const Track &);
+ void create_blocks(Track &);
void remove_block(Block &);
void add_route(Route &);
- const std::map<std::string, Route *> &get_routes() const { return routes; }
+ const std::set<Route *> &get_routes() const { return routes; }
Route &get_route(const std::string &) const;
void update_routes();
void remove_route(Route &);