XNSim/XNCore/XNServiceManager.h

38 lines
812 B
C++
Executable File

#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();
};