13 #ifndef TestProc_SK_H_ 14 #define TestProc_SK_H_ 18 #include <unordered_map> 20 #include "UniSetObject.h" 23 #include "DebugStream.h" 24 #include "LogServer.h" 25 #include "LogAgregator.h" 46 inline std::shared_ptr<DebugStream> log() noexcept {
return mylog; }
47 inline std::shared_ptr<uniset::LogAgregator> logAgregator() noexcept {
return loga; }
49 void init_dlog( std::shared_ptr<DebugStream> d ) noexcept;
53 #define myinfo if( log()->debugging(Debug::INFO) ) log()->info() 56 #define mywarn if( log()->debugging(Debug::WARN) ) log()->warn() 59 #define mycrit if( log()->debugging(Debug::CRIT) ) log()->crit() 62 #define mylog1 if( log()->debugging(Debug::LEVEL1) ) log()->level1() 65 #define mylog2 if( log()->debugging(Debug::LEVEL2) ) log()->level2() 68 #define mylog3 if( log()->debugging(Debug::LEVEL3) ) log()->level3() 71 #define mylog4 if( log()->debugging(Debug::LEVEL4) ) log()->level4() 74 #define mylog5 if( log()->debugging(Debug::LEVEL5) ) log()->level5() 77 #define mylog6 if( log()->debugging(Debug::LEVEL6) ) log()->level6() 80 #define mylog7 if( log()->debugging(Debug::LEVEL7) ) log()->level7() 83 #define mylog8 if( log()->debugging(Debug::LEVEL8) ) log()->level8() 86 #define mylog9 if( log()->debugging(Debug::LEVEL9) ) log()->level9() 89 #define mylogany log()->any() 92 #define vmonit( var ) vmon.add( #var, var ) 128 std::string help()
const noexcept;
131 #ifndef DISABLE_REST_API 133 virtual Poco::JSON::Object::Ptr httpGet(
const Poco::URI::QueryParameters& p )
override;
134 virtual Poco::JSON::Object::Ptr httpRequest(
const std::string& req,
const Poco::URI::QueryParameters& p )
override;
135 virtual Poco::JSON::Object::Ptr httpHelp(
const Poco::URI::QueryParameters& p )
override;
188 const long& in_d1_check_s;
189 const long& in_d2_check_s;
190 long out_set_d1_check_s;
191 long out_set_d2_check_s;
193 const long& in_check_undef_s;
195 const long& in_t_check_s;
197 const long& in_log_s;
219 virtual void callback() noexcept override;
221 virtual
void sysCommand( const
uniset::SystemMessage* sm ){};
222 virtual void askSensors( UniversalIO::UIOCommand cmd ){}
228 virtual std::string
getTypeOfMessage(
int t )
const {
return uniset::strTypeOfMessage(t); }
230 #ifndef DISABLE_REST_API 232 virtual Poco::JSON::Object::Ptr httpDumpIO();
233 virtual Poco::JSON::Object::Ptr httpRequestLog(
const Poco::URI::QueryParameters& p );
237 virtual void step(){}
239 void preAskSensors( UniversalIO::UIOCommand cmd );
242 virtual void testMode(
bool state );
243 void updateOutputs(
bool force );
256 const std::string argprefix;
271 std::atomic_bool activated = {
false };
272 std::atomic_bool cancelled = {
false };
280 std::shared_ptr<uniset::LogAgregator> loga;
281 std::shared_ptr<DebugStream> mylog;
282 std::shared_ptr<uniset::LogServer> logserv;
283 std::string logserv_host = {
""};
284 int logserv_port = {0};
297 long prev_out_lamp_c;
298 long prev_out_depend_c;
299 long prev_in_d1_check_s;
300 long prev_in_d2_check_s;
301 long prev_out_set_d1_check_s;
302 long prev_out_set_d2_check_s;
303 long prev_out_undef_c;
304 long prev_in_check_undef_s;
305 long prev_out_t_set_c;
306 long prev_in_t_check_s;
313 long priv_in_d1_check_s;
314 long priv_in_d2_check_s;
315 long priv_in_check_undef_s;
316 long priv_in_t_check_s;
323 void updatePreviousValues() noexcept;
335 return std::hash<long>()(key);
339 std::unordered_map<const uniset::ObjectId,size_t, StatHashFn> smStat;
340 size_t processingMessageCatchCount = { 0 };
342 std::unordered_map<long,size_t> msgTypeStat;
344 std::string ostate = {
"" };
351 #endif // TestProc_SK_H_ Пассивный таймер
Definition: PassiveTimer.h:92
const uniset::ObjectId d1_check_s
Definition: MBSlaveTest/TestProc_SK.h:150
std::string dumpVars()
Definition: MBSlaveTest/TestProc_SK.h:126
const int checkLogTime
Definition: MBSlaveTest/TestProc_SK.h:205
Definition: CallbackTimer.h:29
virtual std::string getTypeOfMessage(int t) const
Definition: MBSlaveTest/TestProc_SK.h:228
std::string str(uniset::ObjectId id, bool showLinkName=true) const
const uniset::ObjectId depend_c
Definition: MBSlaveTest/TestProc_SK.h:147
const uniset::ObjectId on_s
Definition: MBSlaveTest/TestProc_SK.h:141
const std::string mbIP
Definition: MBSlaveTest/TestProc_SK.h:206
int mbPort
Definition: MBSlaveTest/TestProc_SK.h:208
uniset::ObjectId idHeartBeat
Definition: MBSlaveTest/TestProc_SK.h:261
std::string strval(uniset::ObjectId id, bool showLinkName=true) const
const int checkTime
Definition: MBSlaveTest/TestProc_SK.h:204
Definition: MessageType.h:168
const std::string getProp(const std::string &name)
Definition: MBSlaveTest/TestProc_SK.h:268
long maxHeartBeat
Definition: MBSlaveTest/TestProc_SK.h:262
const uniset::ObjectId d2_check_s
Definition: MBSlaveTest/TestProc_SK.h:153
const int mbADDR
Definition: MBSlaveTest/TestProc_SK.h:207
uniset::PassiveTimer ptStartUpTimeout
Definition: MBSlaveTest/TestProc_SK.h:274
Definition: UniSetObject.h:73
Definition: VMonitor.h:116
const uniset::ObjectId undef_c
Definition: MBSlaveTest/TestProc_SK.h:162
virtual void httpGetUserData(Poco::JSON::Object::Ptr &jdata)
Definition: MBSlaveTest/TestProc_SK.h:231
Definition: MBSlaveTest/TestProc_SK.h:28
virtual std::string getMonitInfo() const
Definition: MBSlaveTest/TestProc_SK.h:227
const uniset::ObjectId t_check_s
Definition: MBSlaveTest/TestProc_SK.h:171
std::shared_ptr< Configuration > uniset_conf() noexcept
Definition: Configuration.cc:90
const ObjectId DefaultObjectId
Definition: UniSetTypes.h:69
virtual bool deactivateObject() override
Деактивиция объекта (переопределяется для необходимых действий при завершении работы) ...
std::string pretty_str(int namewidth=NameWidth, int colnum=ColCount) const
Definition: VMonitor.cc:186
const uniset::ObjectId log_c
Definition: MBSlaveTest/TestProc_SK.h:174
const uniset::ObjectId set_d1_check_s
Definition: MBSlaveTest/TestProc_SK.h:156
const uniset::ObjectId t_set_c
Definition: MBSlaveTest/TestProc_SK.h:168
virtual void processingMessage(const uniset::VoidMessage *msg) override
Definition: MessageType.h:124
const uniset::ObjectId lamp_c
Definition: MBSlaveTest/TestProc_SK.h:144
const uniset::ObjectId log_s
Definition: MBSlaveTest/TestProc_SK.h:177
int sleep_msec
Definition: MBSlaveTest/TestProc_SK.h:253
Definition: MessageType.h:211
Definition: IOController_i.idl:56
const int checkWorkingTime
Definition: MBSlaveTest/TestProc_SK.h:203
xmlNode * confnode
Definition: MBSlaveTest/TestProc_SK.h:264
Definition: UniSetTypes_i.idl:64
virtual void callback() noexcept override
const int changeTime
Definition: MBSlaveTest/TestProc_SK.h:202
int askPause
Definition: MBSlaveTest/TestProc_SK.h:275
const uniset::ObjectId check_undef_s
Definition: MBSlaveTest/TestProc_SK.h:165
bool forceOut
Definition: MBSlaveTest/TestProc_SK.h:278
virtual bool activateObject() override
Активизация объекта (переопределяется для необходимых действий после активизации) ...
int getIntProp(const std::string &name)
Definition: MBSlaveTest/TestProc_SK.h:266
uniset::timeout_t smReadyTimeout
Definition: MBSlaveTest/TestProc_SK.h:270
const uniset::ObjectId set_d2_check_s
Definition: MBSlaveTest/TestProc_SK.h:159
std::string msgstr(uniset::ObjectId id, bool showLinkName=true) const
uniset::timeout_t activateTimeout
Definition: MBSlaveTest/TestProc_SK.h:273
long ObjectId
Definition: UniSetTypes_i.idl:30
uniset::ObjectId smTestID
Definition: MBSlaveTest/TestProc_SK.h:257