|
uniset-algorithms
0.2
|
00001 // ----------------------------------------------------------------------------- 00002 #ifndef Multiplexer_H_ 00003 #define Multiplexer_H_ 00004 // ----------------------------------------------------------------------------- 00005 #include <list> 00006 #include <UniSetTypes.h> 00007 #include "Multiplexer_SK.h" 00008 // ----------------------------------------------------------------------------- 00024 class Multiplexer: 00025 public Multiplexer_SK 00026 { 00027 public: 00028 Multiplexer( UniSetTypes::ObjectId id, xmlNode* cnode ); 00029 virtual ~Multiplexer(); 00030 00031 static DebugStream dlog; 00032 static void init_dlog( DebugStream& dlog ); 00033 00034 protected: 00035 virtual void step(); 00036 virtual void sigterm( int signo ); 00037 void setOut(); 00038 #ifdef ASKMODE 00039 virtual void askSensors( UniversalIO::UIOCommand cmd ); 00040 virtual void sensorInfo( UniSetTypes::SensorMessage* sm ); 00041 virtual void sysCommand( UniSetTypes::SystemMessage* sm ); 00042 #endif 00043 struct OutputInfo 00044 { 00045 OutputInfo():sid(UniSetTypes::DefaultObjectId){} 00046 00047 UniSetTypes::ObjectId sid; 00048 UniversalIO::IOTypes iotype; 00049 }; 00050 00051 typedef std::list<OutputInfo> OutputList; 00052 OutputList lst; 00054 UniSetTypes::ObjectId inID; 00055 UniversalIO::IOTypes inIOType; 00056 UniSetTypes::LampCommand inState; 00058 private: 00059 }; 00060 // ----------------------------------------------------------------------------- 00061 #endif // Multiplexer_H_ 00062 // -----------------------------------------------------------------------------
1.7.6.1