XNSim/XNCore_Win/XNTimeManager/XNTimeManager.h

115 lines
2.4 KiB
C
Raw Normal View History

2025-07-19 12:44:06 +08:00
/**
* @file XNTimeManager.h
* @author jinchao
* @brief
* @version 1.0
* @date 2024-11-10
*
* @copyright Copyright (c) 2024 XN
*
*/
#pragma once
#include "XNBaseFrameObject/XNBaseFrameObject.h"
namespace XNSim {
struct XNTimeManagerPrivate;
/**
* @brief
* @details
* 仿仿
*/
class XNCORE_EXPORT XNTimeManager : public XNBaseFrameObject {
XN_METATYPE(XNTimeManager, XNBaseFrameObject)
XN_DECLARE_PRIVATE(XNTimeManager)
public:
/**
* @brief
*/
XNTimeManager();
/**
* @brief
*/
virtual ~XNTimeManager();
protected:
/**
* @brief
* @param p:
*/
XNTimeManager(PrivateType *p);
public:
/**
* @brief 仿
* @return XNTimePoint: 仿
*/
XNTimePoint GetSimTime();
/**
* @brief 仿
* @param simTime: XN_TIMESPEC类型仿
*/
void SetStartTime(const XN_TIMESPEC &simTime);
/**
* @brief
* @details 线
*/
void Start();
/**
* @brief
* @details 线
*/
void Abort();
/**
* @brief
* @details 线
*/
void Pause();
/**
* @brief
* @details 线
*/
void Continue();
/**
* @brief
* @return true:
* @return false:
* @details
*/
virtual XN_BOOL Initialize() override;
/**
* @brief 仿
* @note
*/
virtual XN_BOOL PrepareForExecute() override;
/**
* @brief 仿
* @param objectId: ID
* @param cmd: 仿
*/
void SimControl(XN_UINT32 objectId, SimControlCmd cmd);
/**
* @brief
* @return RunStatus: 线
* @details 线
*/
RunStatus GetStatus();
private:
/**
* @brief 线
*/
void StepExecute();
};
} // namespace XNSim