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