#pragma once #include "XNBaseFrameObject/XNBaseFrameObject.h" namespace XNSim { 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 XN_BOOL Initialize() override; virtual XN_BOOL PrepareForExecute() override; void LoadService(const XN_STRING &servicePath, const XN_STRING &serviceName, const XN_STRING &serviceVersion, XN_UINT32 initialType); public: XNServiceObjectPtr GetService(XN_UINT32 serviceID); XN_UINT32 RegisterService(); }; } // namespace XNSim