XNSim/XNCore/XNServiceManager.h

38 lines
812 B
C
Raw Normal View History

2025-04-28 12:25:20 +08:00
#pragma once
#include "XNBaseFrameObject.h"
// 添加前向声明
class XNServiceObject;
2025-05-20 15:39:40 +08:00
XNCLASS_PTR_DECLARE(XNServiceObject)
struct XNServiceManagerPrivate;
2025-04-28 12:25:20 +08:00
class XNServiceManager : public XNBaseFrameObject
{
2025-05-20 15:39:40 +08:00
XN_METATYPE(XNServiceManager, XNBaseFrameObject)
XN_DECLARE_PRIVATE(XNServiceManager)
2025-04-28 12:25:20 +08:00
public:
2025-05-20 15:39:40 +08:00
/**
* @brief
*/
XNServiceManager();
/**
* @brief
*/
2025-04-28 12:25:20 +08:00
virtual ~XNServiceManager();
protected:
2025-05-20 15:39:40 +08:00
XNServiceManager(PrivateType *p);
2025-04-28 12:25:20 +08:00
2025-05-20 15:39:40 +08:00
public:
virtual bool Initialize() override;
virtual bool PrepareForExecute() override;
void LoadService(const std::string &servicePath, const std::string &serviceName,
uint32_t initialType);
2025-04-28 12:25:20 +08:00
public:
2025-05-20 15:39:40 +08:00
XNServiceObjectPtr GetService(uint32_t serviceID);
uint32_t RegisterService();
2025-04-28 12:25:20 +08:00
};