XNSim/XNCore/XNBaseFrameObject.h

81 lines
1.3 KiB
C++
Executable File

/**
* @file XNBaseFrameObject.h
* @author jinchao
* @brief 框架对象基类
* @version 1.0
* @date 2025-01-08
*
* @copyright Copyright (c) 2025 COMAC
*
*/
#pragma once
#include "XNObject.h"
struct XNBaseFrameObjectPrivate;
/**
* @brief 框架对象基类
*/
class XNCORE_EXPORT XNBaseFrameObject : public XNObject
{
/**
* @brief 宏定义,用于禁用拷贝构造函数
*/
XN_METATYPE(XNBaseFrameObject, XNObject)
/**
* @brief 宏定义,用于声明私有数据成员
*/
XN_DECLARE_PRIVATE(XNBaseFrameObject)
public:
/**
* @brief 构造函数
* @param parent 父对象
*/
XNBaseFrameObject();
/**
* @brief 析构函数
*/
virtual ~XNBaseFrameObject();
protected:
/**
* @brief 构造函数
* @param dd 私有数据成员
* @param parent 父对象
*/
XNBaseFrameObject(PrivateType *p);
public:
/**
* @brief 初始化
*/
virtual bool Initialize() = 0;
/**
* @brief 准备执行
*/
virtual bool PrepareForExecute() = 0;
/**
* @brief 获取框架对象状态
* @return 框架对象状态
*/
XNFrameObjectStatus GetFrameObjectStatus();
/**
* @brief 获取框架对象
* @return 框架对象
*/
XNFrameworkPtr GetFramework();
/**
* @brief 设置框架对象
* @param framework 框架对象
*/
void SetFramework(XNFrameworkPtr framework);
};