uniset-algorithms 0.2
APSLamp.h
00001 #ifndef APSLamp_H_
00002 #define APSLamp_H_
00003 // -----------------------------------------------------------------------------
00004 #include <Trigger.h>
00005 #include <UniSetTypes.h>
00006 #include <PassiveTimer.h>
00007 #include <extensions/SMInterface.h> 
00008 // -----------------------------------------------------------------------------
00010 class APSLamp
00011 {
00012     public:
00013         APSLamp();
00014         virtual ~APSLamp();
00015         
00016         virtual void confirm( bool state );
00017         
00018         inline UniSetTypes::LampCommand get()
00019         {
00020             return lmpState;
00021         }
00022 
00023         virtual void step( bool state );
00024         
00025         // сменилось ли состояние...
00026         inline bool change(){ return trChange.change( lmpState ); };
00027 
00028     protected:
00029         virtual UniSetTypes::LampCommand check();
00030 
00031         Trigger trOn;
00032         Trigger trChange;
00033         UniSetTypes::LampCommand lmpState;
00034         bool apsState;
00035 
00036     private:
00037 };
00038 // -----------------------------------------------------------------------------
00039 #endif // APSLamp_H_
00040 // -----------------------------------------------------------------------------