38 lines
812 B
C++
38 lines
812 B
C++
#pragma once
|
|
#include "XNBaseFrameObject.h"
|
|
|
|
// 添加前向声明
|
|
class XNServiceObject;
|
|
XNCLASS_PTR_DECLARE(XNServiceObject)
|
|
|
|
struct XNServiceManagerPrivate;
|
|
|
|
class XNServiceManager : public XNBaseFrameObject
|
|
{
|
|
XN_METATYPE(XNServiceManager, XNBaseFrameObject)
|
|
XN_DECLARE_PRIVATE(XNServiceManager)
|
|
public:
|
|
/**
|
|
* @brief 服务管理器类默认构造函数
|
|
*/
|
|
XNServiceManager();
|
|
|
|
/**
|
|
* @brief 服务管理器类析构函数
|
|
*/
|
|
virtual ~XNServiceManager();
|
|
|
|
protected:
|
|
XNServiceManager(PrivateType *p);
|
|
|
|
public:
|
|
virtual bool Initialize() override;
|
|
virtual bool PrepareForExecute() override;
|
|
void LoadService(const std::string &servicePath, const std::string &serviceName,
|
|
uint32_t initialType);
|
|
|
|
public:
|
|
XNServiceObjectPtr GetService(uint32_t serviceID);
|
|
uint32_t RegisterService();
|
|
};
|