feat: adjust dbus service structure

Log:
This commit is contained in:
heyuming
2023-07-17 14:49:35 +08:00
committed by Comix
parent 6f598ab52b
commit 3a278bec79
12 changed files with 338 additions and 117 deletions

View File

@ -8,22 +8,36 @@
#include <QObject>
#include <QDBusObjectPath>
#include <QDBusUnixFileDescriptor>
#include <QSharedPointer>
#include <QMap>
#include "applicationservice.h"
class ApplicationManager1Service : public QObject
class ApplicationManager1Service final : public QObject
{
Q_OBJECT
public:
explicit ApplicationManager1Service(QObject *parent = nullptr);
virtual ~ApplicationManager1Service();
ApplicationManager1Service();
~ApplicationManager1Service() override;
ApplicationManager1Service(const ApplicationManager1Service &) = delete;
ApplicationManager1Service(ApplicationManager1Service &&) = delete;
ApplicationManager1Service &operator=(const ApplicationManager1Service &) = delete;
ApplicationManager1Service &operator=(ApplicationManager1Service&&) = delete;
public:
Q_PROPERTY(QList<QDBusObjectPath> List READ list)
QList<QDBusObjectPath> list() const;
void addApplication(const QString &ID,
const QStringList &actions,
bool AutoStart = false);
bool removeOneApplication(const QDBusObjectPath &application);
void removeAllApplication();
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);
private:
QMap<QDBusObjectPath,QSharedPointer<ApplicationService>> m_applicationList;
};
#endif