UniSet  2.6.0
LostTestProc.h
00001 // -----------------------------------------------------------------------------
00002 #ifndef LostTestProc_H_
00003 #define LostTestProc_H_
00004 // -----------------------------------------------------------------------------
00005 #include <unordered_map>
00006 #include "Debug.h"
00007 #include "LostPassiveTestProc.h"
00008 // -----------------------------------------------------------------------------
00009 /* Цель: поймать расхождение значения в SM и в in_-переменной в процессе.
00010  * Тест: Каждые checkTime проверяем текущее значение в SM и в процессе, меняем в SM и опять проверяем.
00011  *
00012  * Заодно если инициализирован child то проверяем что у него тоже все входы совпадают со значениями в SM.
00013  */
00014 class LostTestProc:
00015     public LostPassiveTestProc
00016 {
00017     public:
00018         LostTestProc( uniset::ObjectId id, xmlNode* confnode = uniset::uniset_conf()->getNode("LostTestProc") );
00019         virtual ~LostTestProc();
00020 
00021         void setChildPassiveProc( const std::shared_ptr<LostPassiveTestProc>& lp );
00022 
00023     protected:
00024         LostTestProc();
00025 
00026         enum Timers
00027         {
00028             tmCheck
00029         };
00030 
00031         virtual void timerInfo( const uniset::TimerMessage* tm ) override;
00032         virtual void sysCommand( const uniset::SystemMessage* sm ) override;
00033         virtual std::string getMonitInfo() override;
00034 
00035         size_t ncycle = { 0 };
00036         bool waitEmpty = { false };
00037 
00038         std::shared_ptr<LostPassiveTestProc> child;
00039 
00040     private:
00041 };
00042 // -----------------------------------------------------------------------------
00043 #endif // LostTestProc_H_
00044 // -----------------------------------------------------------------------------