XNSim/XNCore/XNServiceManager/XNServiceManager.h

34 lines
852 B
C
Raw Normal View History

2025-04-28 12:25:20 +08:00
#pragma once
2025-06-27 21:13:05 +08:00
#include "XNBaseFrameObject/XNBaseFrameObject.h"
2025-05-20 15:39:40 +08:00
2025-06-27 21:13:05 +08:00
namespace XNSim {
2025-05-20 15:39:40 +08:00
struct XNServiceManagerPrivate;
2025-04-28 12:25:20 +08:00
2025-06-27 21:13:05 +08:00
class XNServiceManager : public XNBaseFrameObject {
XN_METATYPE(XNServiceManager, XNBaseFrameObject)
XN_DECLARE_PRIVATE(XNServiceManager)
2025-04-28 12:25:20 +08:00
public:
2025-06-27 21:13:05 +08:00
/**
* @brief
*/
XNServiceManager();
2025-05-20 15:39:40 +08:00
2025-06-27 21:13:05 +08:00
/**
* @brief
*/
virtual ~XNServiceManager();
2025-04-28 12:25:20 +08:00
protected:
2025-06-27 21:13:05 +08:00
XNServiceManager(PrivateType *p);
2025-04-28 12:25:20 +08:00
2025-05-20 15:39:40 +08:00
public:
2025-06-27 21:13:05 +08:00
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);
2025-04-28 12:25:20 +08:00
public:
2025-06-27 21:13:05 +08:00
XNServiceObjectPtr GetService(XN_UINT32 serviceID);
XN_UINT32 RegisterService();
2025-04-28 12:25:20 +08:00
};
2025-06-27 21:13:05 +08:00
} // namespace XNSim