38 lines
708 B
C++
38 lines
708 B
C++
#pragma once
|
|
|
|
#include "TopicManager.h"
|
|
#include "../XNCore/XNIDL/XNSimStatusPubSubTypes.hpp"
|
|
|
|
class XNMONITORSERVER_EXPORT ModelInfoMonitor
|
|
{
|
|
public:
|
|
explicit ModelInfoMonitor() {}
|
|
virtual ~ModelInfoMonitor();
|
|
|
|
public:
|
|
std::string Initialize();
|
|
|
|
std::string GetAllModelInfo();
|
|
|
|
private:
|
|
/**
|
|
* @brief 模型状态监听
|
|
* @param status 模型状态
|
|
*/
|
|
void ModelStatusListener(const XNSim::XNSimStatus::XNModelStatus &status);
|
|
|
|
private:
|
|
/**
|
|
* @brief 互斥锁
|
|
*/
|
|
std::mutex m_ModelStatusMutex;
|
|
/**
|
|
* @brief 模型状态
|
|
*/
|
|
std::map<uint32_t, XNSim::XNSimStatus::XNModelStatus> m_ModelStatus;
|
|
/**
|
|
* @brief 模型周期计数
|
|
*/
|
|
std::map<uint32_t, uint64_t> m_ModelCycleCount;
|
|
};
|