uniset-algorithms  0.2
Transfer.h
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 
00046             UniSetTypes::ObjectId id;       
00047             UniSetTypes::ObjectId node;     
00048             UniversalIO::IOTypes iotype;    
00049         };
00050 
00051         typedef std::list<SInfo> SList; 
00052         typedef std::map<UniSetTypes::KeyType,SList> SMap;
00053         SMap lst;
00054         SList inLst; // список входов
00055 
00056         void setOut(SList& slst, long val);
00057 
00058     private:
00059 };
00060 // -----------------------------------------------------------------------------
00061 #endif // Transfer_H_
00062 // -----------------------------------------------------------------------------