XNSim/XNCore/XNBaseFrameObject.h

81 lines
1.3 KiB
C
Raw Permalink Normal View History

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