XNSim/XNMonitorServer/ModelInfoMonitor.h

38 lines
698 B
C
Raw Normal View History

2025-05-14 20:18:44 +08:00
#pragma once
#include "TopicManager.h"
#include <XNIDL/XNSimStatusPubSubTypes.hpp>
2025-05-14 20:18:44 +08:00
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;
};