X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Farducontrol.h;h=ad14e2d4239a5182f6223b70ae3f7bea9ac88ab3;hb=26fbc0321526ccc41a81a332f0d60b7cc42b6567;hp=40c7b3c6912d47247024c5ab28461bb497a6a7f1;hpb=b4beace6f1d3e018dbe1495430d32f828d406229;p=r2c2.git diff --git a/source/libr2c2/arducontrol.h b/source/libr2c2/arducontrol.h index 40c7b3c..ad14e2d 100644 --- a/source/libr2c2/arducontrol.h +++ b/source/libr2c2/arducontrol.h @@ -173,12 +173,13 @@ private: Kind kind; unsigned address; unsigned bits; + unsigned valid_states; ControlledVariable state; unsigned uncertain; unsigned target; Msp::Time::TimeDelta active_time; - Accessory(Kind, unsigned, unsigned); + Accessory(Kind, unsigned, unsigned, unsigned); unsigned create_state_command(unsigned, bool, char *) const; }; @@ -359,6 +360,7 @@ private: bool get_work(PendingCommand &); unsigned do_command(const PendingCommand &, const Msp::Time::TimeDelta &); unsigned process_reply(const char *, unsigned); + void set_power(bool); }; typedef std::map LocomotiveMap; @@ -432,10 +434,11 @@ public: virtual unsigned get_signal(unsigned) const; private: - unsigned add_accessory(Accessory::Kind, unsigned, unsigned); + unsigned add_accessory(Accessory::Kind, unsigned, unsigned, unsigned); void remove_accessory(Accessory::Kind, unsigned); void set_accessory(Accessory::Kind, unsigned, unsigned); unsigned get_accessory(Accessory::Kind, unsigned) const; + void activate_accessory_by_mask(Accessory &, unsigned); public: virtual unsigned add_sensor(unsigned);