X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fblock.h;h=6823b2730343faa69c03b14b0f507701ad26b85d;hb=ece91e92af821bd6b468bd1134302efb7c28f019;hp=4309290da3f3145a553a405009dc35a4c60b8ad9;hpb=cb4e53ba1b8ea41b978190de6668e9862b9cfea8;p=r2c2.git diff --git a/source/libr2c2/block.h b/source/libr2c2/block.h index 4309290..6823b27 100644 --- a/source/libr2c2/block.h +++ b/source/libr2c2/block.h @@ -32,25 +32,30 @@ public: private: unsigned id; - unsigned sensor_id; - unsigned turnout_id; + unsigned sensor_addr; + unsigned turnout_addr; + bool conflict; TrackCircuit *sensor; std::vector endpoints; Train *train; + Train *pending_train; + bool emitting_reserve; public: Block(Layout &, Track &); ~Block(); + virtual void set_name(const std::string &); + private: virtual void on_track_added(Track &); virtual Validity check_validity(Track &) const; public: unsigned get_id() const { return id; } - unsigned get_sensor_id() const { return sensor_id; } - unsigned get_turnout_id() const { return turnout_id; } - TrackCircuit &get_sensor() const { return *sensor; } + unsigned get_sensor_address() const { return sensor_addr; } + unsigned get_turnout_address() const { return turnout_addr; } + TrackCircuit *get_sensor() const { return sensor; } const std::vector &get_endpoints() const { return endpoints; } const Endpoint &get_endpoint(unsigned) const; int get_endpoint_by_link(Block &) const; @@ -62,6 +67,9 @@ public: Train *get_train() const { return train; } private: void determine_id(); + +public: + virtual Msp::DataFile::Statement save_reference() const; }; } // namespace R2C2