// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later #ifndef JOBMANAGER1SERVICE_H #define JOBMANAGER1SERVICE_H #include #include #include #include #include "jobservice.h" class JobManager1Service final : public QObject { Q_OBJECT public: JobManager1Service(); JobManager1Service(const JobManager1Service &) = delete; JobManager1Service(JobManager1Service&&) = delete; JobManager1Service &operator=(const JobManager1Service &) = delete; JobManager1Service &operator=(JobManager1Service &&) = delete; ~JobManager1Service() override; template void addJob(const QDBusObjectPath &source,F func, Args&& ...args); bool removeJob(const QDBusObjectPath &job, const QString &status, const QString &message, const QDBusVariant &result); Q_SIGNALS: void JobNew(const QDBusObjectPath &job, const QDBusObjectPath &source); void JobRemoved(const QDBusObjectPath &job, const QString &status, const QString &message, const QDBusVariant &result); private: QMap> m_jobs; }; #endif