XNSim/Release/include/XNCore/XNFramework.h

207 lines
3.5 KiB
C
Raw Normal View History

2025-04-28 12:25:20 +08:00
/**
* @file XNFramework.h
* @author jinchao
* @brief
* @version 1.0
* @date 2025-01-08
*
* @copyright Copyright (c) 2025 COMAC
*
*/
#pragma once
#include "XNObject.h"
class XNFrameworkPrivate;
/**
* @brief
*/
class XNCORE_EXPORT XNFramework : public XNObject
{
/**
* @brief Qt的元对象系统
*/
Q_OBJECT
/**
* @brief
*/
Q_DISABLE_COPY(XNFramework)
/**
* @brief
*/
Q_DECLARE_PRIVATE(XNFramework);
/**
* @brief workPath
*/
Q_PROPERTY(QString workPath READ GetWorkPath WRITE SetWorkPath)
/**
* @brief modelPath
*/
Q_PROPERTY(QString modelPath READ GetModelPath WRITE SetModelPath)
/**
* @brief cpuAffinity
*/
Q_PROPERTY(quint32 cpuAffinity READ GetCpuAffinity WRITE SetCpuAffinity)
public:
/**
* @brief
* @param parent
*/
explicit XNFramework(QObject *parent = nullptr);
/**
* @brief
*/
virtual ~XNFramework();
/**
* @brief
* @return
*/
QString GetWorkPath();
/**
* @brief
* @return
*/
QString GetModelPath();
/**
* @brief
* @return
*/
QString GetServicePath();
/**
* @brief CPU亲和性
* @return CPU亲和性
*/
quint32 GetCpuAffinity();
/**
* @brief XML
* @param scenarioXml XML
*/
void SetScenarioXml(const QString &scenarioXml);
signals:
/**
* @brief
*/
void Initialize();
/**
* @brief
*/
void InitializeSuccess(bool isSuccess);
/**
* @brief
*/
void PrepareForExecute();
/**
* @brief
*/
void PrepareForExecuteSuccess(bool isSuccess);
/**
* @brief XML
* @param scenarioXml XML
*/
void AnalyzeScenarioXml(const QString &scenarioXml);
/**
* @brief 仿
* @param objectId ID
* @param cmd
*/
void SimControl(quint32 objectId, SimControlCmd cmd);
public slots:
/**
* @brief
* @param workPath
*/
void SetWorkPath(const QString &workPath);
/**
* @brief
* @param modelPath
*/
void SetModelPath(const QString &modelPath);
/**
* @brief
* @param servicePath
*/
void SetServicePath(const QString &servicePath);
/**
* @brief CPU亲和性
* @param cpuAffinity CPU亲和性
*/
void SetCpuAffinity(quint32 cpuAffinity);
/**
* @brief
*/
void OnInitialize();
/**
* @brief
*/
void OnInitializeSuccess();
/**
* @brief
*/
void OnInitializeFailed();
/**
* @brief
*/
void OnAnalyzeScenarioXmlSuccess();
/**
* @brief
*/
void OnAnalyzeScenarioXmlFailed();
/**
* @brief
*/
void OnPrepareForExecute();
/**
* @brief
*/
void OnPrepareForExecuteSuccess();
/**
* @brief
*/
void OnPrepareForExecuteFailed();
/**
* @brief 仿
* @param cmd
*/
void OnSimControl(quint32 objectId, SimControlCmd cmd);
protected:
/**
* @brief
* @param dd
* @param parent
*/
XNFramework(XNFrameworkPrivate &dd, QObject *parent = nullptr);
};