XNSim/XNCore/XNBaseFrameObject/XNBaseFrameObject.h

81 lines
1.4 KiB
C
Raw Normal View History

2025-04-28 12:25:20 +08:00
/**
* @file XNBaseFrameObject.h
2025-06-27 21:13:05 +08:00
* @author jinchao
2025-04-28 12:25:20 +08:00
* @brief
* @version 1.0
* @date 2025-01-08
2025-06-27 21:13:05 +08:00
*
2025-04-28 12:25:20 +08:00
* @copyright Copyright (c) 2025 COMAC
2025-06-27 21:13:05 +08:00
*
2025-04-28 12:25:20 +08:00
*/
#pragma once
2025-06-27 21:13:05 +08:00
#include <XNObject/XNObject.h>
2025-04-28 12:25:20 +08:00
2025-06-27 21:13:05 +08:00
namespace XNSim {
2025-05-20 15:39:40 +08:00
struct XNBaseFrameObjectPrivate;
2025-04-28 12:25:20 +08:00
/**
* @brief
*/
2025-06-27 21:13:05 +08:00
class XNCORE_EXPORT XNBaseFrameObject : public XNObject {
/**
* @brief
*/
XN_METATYPE(XNBaseFrameObject, XNObject)
2025-04-28 12:25:20 +08:00
2025-06-27 21:13:05 +08:00
/**
* @brief
*/
XN_DECLARE_PRIVATE(XNBaseFrameObject)
2025-04-28 12:25:20 +08:00
public:
2025-06-27 21:13:05 +08:00
/**
* @brief
* @param parent
*/
XNBaseFrameObject();
2025-04-28 12:25:20 +08:00
2025-06-27 21:13:05 +08:00
/**
* @brief
*/
virtual ~XNBaseFrameObject();
2025-04-28 12:25:20 +08:00
protected:
2025-06-27 21:13:05 +08:00
/**
* @brief
* @param dd
* @param parent
*/
XNBaseFrameObject(PrivateType *p);
2025-04-28 12:25:20 +08:00
2025-05-20 15:39:40 +08:00
public:
2025-06-27 21:13:05 +08:00
/**
* @brief
*/
virtual XN_BOOL Initialize() = 0;
2025-04-28 12:25:20 +08:00
2025-06-27 21:13:05 +08:00
/**
* @brief
*/
virtual XN_BOOL PrepareForExecute() = 0;
2025-04-28 12:25:20 +08:00
2025-06-27 21:13:05 +08:00
/**
* @brief
* @return
*/
XNFrameObjectStatus GetFrameObjectStatus();
2025-04-28 12:25:20 +08:00
2025-06-27 21:13:05 +08:00
/**
* @brief
* @return
*/
XNFrameworkPtr GetFramework();
2025-04-28 12:25:20 +08:00
2025-06-27 21:13:05 +08:00
/**
* @brief
* @param framework
*/
void SetFramework(XNFrameworkPtr framework);
2025-04-28 12:25:20 +08:00
};
2025-06-27 21:13:05 +08:00
} // namespace XNSim