81 lines
1.3 KiB
C++
Executable File
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);
|
|
};
|