XNSim/XNMonitorServer/ModelInfoMonitor.h

42 lines
800 B
C
Raw Normal View History

2025-05-14 20:18:44 +08:00
#pragma once
#include "XNMonitorServer_global.h"
#include <map>
#include <mutex>
#include "TypeDefine.h"
#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;
};