00001
00002 #ifndef Transfer_H_
00003 #define Transfer_H_
00004
00005 #include <list>
00006 #include <UniSetTypes.h>
00007 #include "Transfer_SK.h"
00008
00022 class Transfer:
00023 public Transfer_SK
00024 {
00025 public:
00026 Transfer( UniSetTypes::ObjectId id, xmlNode* cnode );
00027 virtual ~Transfer();
00028
00029 static DebugStream dlog;
00030 static void init_dlog( DebugStream& dlog );
00031
00032 protected:
00033 virtual void step();
00034
00035
00036 #ifdef ASKMODE
00037 virtual void askSensors( UniversalIO::UIOCommand cmd );
00038 virtual void sensorInfo( UniSetTypes::SensorMessage* sm );
00039 #endif
00040 struct SInfo
00041 {
00042 SInfo():id(UniSetTypes::DefaultObjectId),
00043 node(UniSetTypes::DefaultObjectId),
00044 iotype(UniversalIO::UnknownIOType),
00045 invert(false){}
00046
00047 UniSetTypes::ObjectId id;
00048 UniSetTypes::ObjectId node;
00049 UniversalIO::IOTypes iotype;
00050 bool invert;
00051 };
00052
00053 typedef std::list<SInfo> SList;
00054 typedef std::map<UniSetTypes::KeyType,SList> SMap;
00055 SMap lst;
00056 SList inLst;
00057
00058 void setOut(SList& slst, long val);
00059
00060 private:
00061 };
00062
00063 #endif // Transfer_H_
00064