#pragma once #include "XNBaseFrameObject.h" // 添加前向声明 class XNServiceObject; class XNServiceManagerPrivate; class XNServiceManager : public XNBaseFrameObject { Q_OBJECT Q_DECLARE_PRIVATE(XNServiceManager) Q_DISABLE_COPY(XNServiceManager) public: explicit XNServiceManager(QObject *parent = nullptr); virtual ~XNServiceManager(); protected: XNServiceManager(XNServiceManagerPrivate &dd, QObject *parent = nullptr); public slots: virtual void OnInitialize() override; virtual void OnPrepareForExecute() override; void OnLoadService(const QString &servicePath, const QString &serviceName); public: XNServiceObject *GetService(quint32 serviceID); quint32 RegisterService(); };