X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibmarklin%2Fintellibox.h;h=c5c7e7af031e4761bd9fbc2fd1dbaef8853167e4;hb=97443d96ff3ce51388d2edd1e0dca8f2cd231346;hp=9f42aa223f75184571e8f91ca55c6bd6546ee99e;hpb=651698847d5293cfb15b6fb23a394701388c0151;p=r2c2.git diff --git a/source/libmarklin/intellibox.h b/source/libmarklin/intellibox.h index 9f42aa2..c5c7e7a 100644 --- a/source/libmarklin/intellibox.h +++ b/source/libmarklin/intellibox.h @@ -98,6 +98,7 @@ private: int serial_fd; bool power; + bool halted; std::map locos; std::map turnouts; std::map sensors; @@ -111,6 +112,8 @@ public: virtual void set_power(bool); virtual bool get_power() const { return power; } + virtual void halt(bool); + virtual bool is_halted() const { return halted; } virtual void add_loco(unsigned); virtual void set_loco_speed(unsigned, unsigned); @@ -122,6 +125,7 @@ public: virtual bool get_turnout(unsigned) const; virtual void add_sensor(unsigned); + virtual void set_sensor(unsigned, bool) { } virtual bool get_sensor(unsigned) const; virtual void tick(); @@ -135,6 +139,8 @@ private: void turnout_command(unsigned, bool, bool); void process_reply(const Msp::Time::TimeStamp &); unsigned read_all(unsigned char *, unsigned); + unsigned read_status(Error *); + void error(Command, Error); }; } // namespace Marklin