169 lines
3.1 KiB
C
Raw Permalink Normal View History

2025-07-19 12:44:06 +08:00
/**
* @file XNFramework.h
* @author jinchao
* @brief
* @version 1.0
* @date 2025-01-08
*
* @copyright Copyright (c) 2025 COMAC
*
*/
#pragma once
#include "XNObject/XNObject.h"
namespace XNSim {
struct XNFrameworkPrivate;
/**
* @brief
*/
class XNCORE_EXPORT XNFramework : public XNObject {
/**
* @brief
*/
XN_METATYPE(XNFramework, XNObject)
/**
* @brief
*/
XN_DECLARE_PRIVATE(XNFramework)
public:
/**
* @brief
* @param parent
*/
XNFramework();
/**
* @brief
*/
virtual ~XNFramework();
protected:
/**
* @brief
* @param p
*/
XNFramework(PrivateType *p);
public:
/**
* @brief DDS管理器
* @return DDS管理器
*/
XNDDSManagerPtr GetDDSManager();
/**
* @brief
* @return
*/
XNEventManagerPtr GetEventManager();
/**
* @brief
* @return
*/
XNModelManagerPtr GetModelManager();
/**
* @brief
* @return
*/
XNConfigManagerPtr GetConfigManager();
/**
* @brief
* @return
*/
XNServiceManagerPtr GetServiceManager();
/**
* @brief 线
* @return 线
*/
XNThreadManagerPtr GetThreadManager();
/**
* @brief
* @return
*/
XNTimeManagerPtr GetTimeManager();
/**
* @brief
* @return
*/
XN_STRING GetWorkPath();
/**
* @brief
* @param workPath
*/
void SetWorkPath(const XN_STRING &workPath);
/**
* @brief
* @return
*/
XN_STRING GetModelPath();
/**
* @brief
* @param modelPath
*/
void SetModelPath(const XN_STRING &modelPath);
/**
* @brief
* @return
*/
XN_STRING GetServicePath();
/**
* @brief
* @param servicePath
*/
void SetServicePath(const XN_STRING &servicePath);
/**
* @brief CPU亲和性
* @return CPU亲和性
*/
XN_UINT32 GetCpuAffinity();
/**
* @brief CPU亲和性
* @param cpuAffinity CPU亲和性
*/
void SetCpuAffinity(XN_UINT32 cpuAffinity);
/**
* @brief XML
* @param scenarioXml XML
*/
void SetScenarioXml(const XN_STRING &scenarioXml);
/**
* @brief
* @return true:
* @return false:
*/
bool PrepareForExecute();
/**
* @brief 仿
* @param objectId ID
* @param cmd
*/
void SimControl(XN_UINT32 objectId, SimControlCmd cmd);
/**
* @brief
* @param initialType
* @return true:
* @return false:
*/
XN_BOOL Initialize(XN_UINT32 initialType);
};
} // namespace XNSim