uniset-algorithms 0.2
CommonLamp.h
00001 #ifndef CommonLamp_H_
00002 #define CommonLamp_H_
00003 // -----------------------------------------------------------------------------
00004 #include <list>
00005 #include <UniSetTypes.h>
00006 #include "CommonLamp_SK.h"
00007 // -----------------------------------------------------------------------------
00013 class CommonLamp:
00014     public CommonLamp_SK
00015 {
00016     public:
00017         CommonLamp( UniSetTypes::ObjectId id, xmlNode* cnode );
00018         virtual ~CommonLamp();
00019 
00020         static DebugStream dlog;
00021         static void init_dlog( DebugStream& dlog );
00022         
00023     protected:
00024         virtual void step();
00025         UniSetTypes::LampCommand check();
00026         virtual void sigterm( int signo );
00027         void setOut();
00028 
00029 #ifdef ASKMODE
00030         virtual void askSensors( UniversalIO::UIOCommand cmd );
00031         virtual void sensorInfo( UniSetTypes::SensorMessage* sm );
00032         virtual void sysCommand( UniSetTypes::SystemMessage* sm );
00033 #endif
00034         UniSetTypes::LampCommand prev_out;
00035 
00036         struct InputInfo
00037         {
00038             InputInfo():sid(UniSetTypes::DefaultObjectId),lstate(UniSetTypes::lmpOFF){}
00039 
00040             UniSetTypes::ObjectId sid;
00041             UniSetTypes::LampCommand lstate;
00042         };
00043 
00044         typedef std::list<InputInfo> InputList; 
00045         InputList lst; 
00047         UniSetTypes::ObjectId outID;        
00048         UniSetTypes::ObjectId outID2;       
00049         UniversalIO::IOTypes outIOType;     
00050         UniSetTypes::LampCommand outState;      
00052     private:
00053 };
00054 // -----------------------------------------------------------------------------
00055 #endif // CommonLamp_H_
00056 // -----------------------------------------------------------------------------