2023-07-10 10:18:33 +08:00
|
|
|
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
|
|
|
|
//
|
|
|
|
// SPDX-License-Identifier: LGPL-3.0-or-later
|
|
|
|
|
|
|
|
#ifndef APPLICATIONMANAGER1SERVICE_H
|
|
|
|
#define APPLICATIONMANAGER1SERVICE_H
|
|
|
|
|
|
|
|
#include <QObject>
|
|
|
|
#include <QDBusObjectPath>
|
|
|
|
#include <QDBusUnixFileDescriptor>
|
2023-07-17 14:49:35 +08:00
|
|
|
#include <QSharedPointer>
|
|
|
|
#include <QMap>
|
|
|
|
#include "applicationservice.h"
|
2023-07-10 10:18:33 +08:00
|
|
|
|
2023-07-17 14:49:35 +08:00
|
|
|
class ApplicationManager1Service final : public QObject
|
2023-07-10 10:18:33 +08:00
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
2023-07-17 14:49:35 +08:00
|
|
|
ApplicationManager1Service();
|
|
|
|
~ApplicationManager1Service() override;
|
|
|
|
ApplicationManager1Service(const ApplicationManager1Service &) = delete;
|
|
|
|
ApplicationManager1Service(ApplicationManager1Service &&) = delete;
|
|
|
|
ApplicationManager1Service &operator=(const ApplicationManager1Service &) = delete;
|
|
|
|
ApplicationManager1Service &operator=(ApplicationManager1Service&&) = delete;
|
2023-07-10 10:18:33 +08:00
|
|
|
|
|
|
|
Q_PROPERTY(QList<QDBusObjectPath> List READ list)
|
|
|
|
QList<QDBusObjectPath> list() const;
|
2023-07-17 14:49:35 +08:00
|
|
|
void addApplication(const QString &ID,
|
|
|
|
const QStringList &actions,
|
|
|
|
bool AutoStart = false);
|
|
|
|
bool removeOneApplication(const QDBusObjectPath &application);
|
|
|
|
void removeAllApplication();
|
2023-07-10 10:18:33 +08:00
|
|
|
|
|
|
|
public Q_SLOTS:
|
|
|
|
QDBusObjectPath Application(const QString &id);
|
|
|
|
QString Identify(const QDBusUnixFileDescriptor &pidfd, QDBusObjectPath &application, QDBusObjectPath &application_instance);
|
|
|
|
QDBusObjectPath Launch(const QString &id, const QString &action, const QStringList &fields, const QVariantMap &options);
|
2023-07-17 14:49:35 +08:00
|
|
|
|
|
|
|
private:
|
|
|
|
QMap<QDBusObjectPath,QSharedPointer<ApplicationService>> m_applicationList;
|
2023-07-10 10:18:33 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|