UniSet
1.4.0
|
00001 #ifndef PassiveLProcessor_H_ 00002 #define PassiveLProcessor_H_ 00003 // -------------------------------------------------------------------------- 00004 #include <map> 00005 #include "UniSetTypes.h" 00006 #include "UniSetObject_LT.h" 00007 #include "Extensions.h" 00008 #include "SharedMemory.h" 00009 #include "UniversalInterface.h" 00010 #include "SMInterface.h" 00011 #include "LProcessor.h" 00012 // -------------------------------------------------------------------------- 00014 class PassiveLProcessor: 00015 public UniSetObject_LT, 00016 protected LProcessor 00017 { 00018 public: 00019 00020 PassiveLProcessor( std::string schema, UniSetTypes::ObjectId objId, 00021 UniSetTypes::ObjectId shmID, SharedMemory* ic=0 ); 00022 virtual ~PassiveLProcessor(); 00023 00024 enum Timers 00025 { 00026 tidStep 00027 }; 00028 00029 protected: 00030 PassiveLProcessor(){}; 00031 00032 virtual void step(); 00033 virtual void getInputs(); 00034 virtual void setOuts(); 00035 00036 virtual void processingMessage( UniSetTypes::VoidMessage *msg ); 00037 void sysCommand( UniSetTypes::SystemMessage *msg ); 00038 void sensorInfo( UniSetTypes::SensorMessage*sm ); 00039 void timerInfo( UniSetTypes::TimerMessage *tm ); 00040 void askSensors( UniversalIO::UIOCommand cmd ); 00041 // void initOutput(); 00042 00043 // действия при завершении работы 00044 virtual void sigterm( int signo ); 00045 00046 SMInterface* shm; 00047 00048 private: 00049 PassiveTimer ptHeartBeat; 00050 UniSetTypes::ObjectId sidHeartBeat; 00051 int maxHeartBeat; 00052 IOController::AIOStateList::iterator aitHeartBeat; 00053 }; 00054 // --------------------------------------------------------------------------- 00055 #endif