XNSim/Release/include/XNCore/XNScenarioManager.h

149 lines
3.5 KiB
C
Raw Normal View History

2025-04-28 12:25:20 +08:00
/**
* @file XNScenarioDescriptor.h
* @author jinchao
* @brief
* @version 1.0
* @date 2024-11-07
*
* @copyright Copyright (c) 2024 XN
*
*/
#pragma once
#include "XNBaseFrameObject.h"
class XNScenarioManagerPrivate;
/**
* @brief
* @details
*/
class XNScenarioManager : public XNBaseFrameObject
{
Q_OBJECT
Q_DECLARE_PRIVATE(XNScenarioManager)
Q_DISABLE_COPY(XNScenarioManager)
public:
/**
* @brief
*/
explicit XNScenarioManager(QObject *parent = nullptr);
/**
* @brief
*/
virtual ~XNScenarioManager();
protected:
/**
* @brief
* @param p:
* @details
*/
XNScenarioManager(XNScenarioManagerPrivate &dd, QObject *parent = nullptr);
public:
/**
* @brief
* @return const XNString&:
*/
const QString &GetSimName();
/**
* @brief
* @param simName: XNString类型
*/
void SetSimName(QString &simName);
/**
* @brief
* @return const XNTime&:
*/
const QDateTime &GetSimStartTime();
/**
* @brief
* @param startTime: QDateTime类型
*/
void SetSimStartTime(QDateTime &startTime);
signals:
/**
* @brief 线线
*/
void AddThreadPool(QString name, FreqLevel freq, quint32 priority, quint32 CPUAff,
double RunInter);
/**
* @brief
*/
void LoadModel(const QString &modelPath, const QString &className);
/**
* @brief
*/
void LoadService(const QString &servicePath, const QString &className);
/**
* @brief
*/
void SetWorkPath(const QString &workPath);
/**
* @brief
*/
void SetModelPath(const QString &modelPath);
/**
* @brief
*/
void SetServicePath(const QString &servicePath);
/**
* @brief CPU亲和性
*/
void SetCpuAffinity(quint32 cpuAffinity);
/**
* @brief
* @param freq: Hz
*/
void SetBaseFreq(const double &freq);
/**
* @brief DDS域ID
* @param domainID: DDS域ID
*/
void SetDomainID(quint32 domainID);
/**
* @brief
*/
void AnalyzeScenarioXmlSuccess();
/**
* @brief
*/
void AnalyzeScenarioXmlFailed();
public slots:
/**
* @brief
* @return true:
* @return false:
* @details
*/
virtual void OnInitialize() override;
/**
* @brief 仿
* @note
*/
virtual void OnPrepareForExecute() override;
/**
* @brief
* @param XmlPath: QString类型
*/
virtual void AnalysisScenarioXml(const QString &XmlPath);
};