2022-03-30 17:56:27 +08:00
|
|
|
#ifndef A2862DC7_5DA3_4129_9796_671D88015BED
|
|
|
|
#define A2862DC7_5DA3_4129_9796_671D88015BED
|
|
|
|
|
2022-05-15 12:10:42 +08:00
|
|
|
#include "../../modules/startmanager/startmanager.h"
|
|
|
|
|
2022-03-30 17:56:27 +08:00
|
|
|
#include <QObject>
|
|
|
|
#include <QDBusObjectPath>
|
|
|
|
#include <QList>
|
2022-05-15 12:10:42 +08:00
|
|
|
#include <QMap>
|
|
|
|
#include <QDBusContext>
|
2022-03-30 17:56:27 +08:00
|
|
|
|
|
|
|
class Application;
|
|
|
|
class ApplicationInstance;
|
|
|
|
class ApplicationManagerPrivate;
|
2022-05-15 12:10:42 +08:00
|
|
|
class ApplicationManager : public QObject, public QDBusContext
|
|
|
|
{
|
2022-03-30 17:56:27 +08:00
|
|
|
Q_OBJECT
|
|
|
|
Q_PROPERTY(QList<QDBusObjectPath> instances READ instances)
|
|
|
|
Q_PROPERTY(QList<QDBusObjectPath> list READ list)
|
|
|
|
QScopedPointer<ApplicationManagerPrivate> dd_ptr;
|
|
|
|
Q_DECLARE_PRIVATE_D(qGetPtrHelper(dd_ptr), ApplicationManager)
|
|
|
|
|
|
|
|
ApplicationManager(QObject *parent = nullptr);
|
2022-05-15 12:10:42 +08:00
|
|
|
bool checkDMsgUid();
|
|
|
|
|
|
|
|
StartManager *startManager;
|
2022-03-30 17:56:27 +08:00
|
|
|
|
|
|
|
public:
|
|
|
|
~ApplicationManager() override;
|
|
|
|
static ApplicationManager* Instance() {
|
|
|
|
static ApplicationManager manager;
|
|
|
|
return &manager;
|
|
|
|
}
|
|
|
|
|
|
|
|
void addApplication(const QList<QSharedPointer<Application>> &list);
|
|
|
|
|
2022-05-15 12:10:42 +08:00
|
|
|
Q_SIGNALS:
|
|
|
|
void AutostartChanged(QString status, QString filePath);
|
2022-03-30 17:56:27 +08:00
|
|
|
|
|
|
|
public: // PROPERTIES
|
|
|
|
QList<QDBusObjectPath> instances() const;
|
|
|
|
QList<QDBusObjectPath> list() const;
|
|
|
|
|
|
|
|
public Q_SLOTS: // METHODS
|
|
|
|
QDBusObjectPath GetInformation(const QString &id);
|
|
|
|
QList<QDBusObjectPath> GetInstances(const QString &id);
|
|
|
|
QDBusObjectPath Run(const QString &id);
|
2022-05-15 12:10:42 +08:00
|
|
|
|
|
|
|
// com.deepin.StartManager
|
|
|
|
bool AddAutostart(QString fileName);
|
|
|
|
bool RemoveAutostart(QString fileName);
|
|
|
|
QStringList AutostartList();
|
|
|
|
QString DumpMemRecord();
|
|
|
|
//QString GetApps();
|
|
|
|
bool IsAutostart(QString fileName);
|
|
|
|
bool IsMemSufficient();
|
|
|
|
//bool Launch(QString desktopFile); deprecated
|
|
|
|
void LaunchApp(QString desktopFile, uint32_t timestamp, QStringList files);
|
|
|
|
void LaunchAppAction(QString desktopFile, QString action, uint32_t timestamp);
|
|
|
|
void LaunchAppWithOptions(QString desktopFile, uint32_t timestamp, QStringList files, QMap<QString, QString> options);
|
|
|
|
//bool LaunchWithTimestamp(QString desktopFile, uint32_t timestamp); deprecated
|
|
|
|
void RunCommand(QString exe, QStringList args);
|
|
|
|
void RunCommandWithOptions(QString exe, QStringList args, QMap<QString, QString> options);
|
|
|
|
void TryAgain(bool launch);
|
2022-03-30 17:56:27 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* A2862DC7_5DA3_4129_9796_671D88015BED */
|