]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/timetable.h
Improve the interface and algorithms of BlockAllocator
[r2c2.git] / source / libr2c2 / timetable.h
index 1bf8f4fe6c0b000db6823edb1f699dc369010682..84a39cd9c92d04de396638baa84c0f9bc999fe07 100644 (file)
@@ -1,10 +1,3 @@
-/* $Id$
-
-This file is part of R²C²
-Copyright © 2010-2011  Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
 #ifndef LIBR2C2_TIMETABLE_H_
 #define LIBR2C2_TIMETABLE_H_
 
@@ -12,11 +5,11 @@ Distributed under the GPL
 #include <vector>
 #include <sigc++/trackable.h>
 #include <msp/datafile/objectloader.h>
+#include "block.h"
 #include "trainai.h"
 
 namespace R2C2 {
 
-class Block;
 class Track;
 class Train;
 class Zone;
@@ -36,7 +29,6 @@ public:
                void route(const std::string &);
                void reverse();
                void speed(unsigned);
-               void tag(const std::string &);
                void travel_to(unsigned);
                void travel_past(unsigned);
                void wait(unsigned);
@@ -105,13 +97,13 @@ public:
        void tick(const Msp::Time::TimeStamp &, const Msp::Time::TimeDelta &);
        void save(std::list<Msp::DataFile::Statement> &) const;
 private:
-       Track &get_sensor(unsigned);
+       Block &get_sensor(unsigned);
        Track &get_turnout(unsigned);
        Zone &get_zone(const std::string &);
-       void sensor_event(unsigned, bool);
+       void block_state_changed(Block &, Block::State);
        void block_reserved(Block &, Train *);
        void train_advanced(Block &);
-       void train_arrived();
+       void event(TrainAI &, const Message &);
 };
 
 } // namespace R2C2