-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathupdatedbusproxy.h
More file actions
187 lines (151 loc) · 6.81 KB
/
updatedbusproxy.h
File metadata and controls
187 lines (151 loc) · 6.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
// SPDX-FileCopyrightText: 2018 - 2026 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later
#ifndef UPDATEDBUSPROXY_H
#define UPDATEDBUSPROXY_H
#include <DDBusInterface>
#include <QDBusObjectPath>
#include <QDBusPendingReply>
#include <QObject>
#include <QDBusServiceWatcher>
typedef QMap<QString, QStringList> LastoreUpdatePackagesInfo;
typedef QMap<QString, double> BatteryPercentageInfo;
using Dtk::Core::DDBusInterface;
class QDBusMessage;
class QDBusInterface;
class UpdateDBusProxy : public QObject
{
Q_OBJECT
public:
explicit UpdateDBusProxy(QObject *parent = nullptr);
~UpdateDBusProxy();
public:
// hostname
QString staticHostname() const;
// updater
Q_PROPERTY(bool UpdateNotify READ updateNotify NOTIFY UpdateNotifyChanged)
bool updateNotify();
void SetUpdateNotify(bool in0);
LastoreUpdatePackagesInfo classifiedUpdatablePackages();
QString GetCheckIntervalAndTime();
Q_PROPERTY(bool AutoDownloadUpdates READ autoDownloadUpdates NOTIFY AutoDownloadUpdatesChanged)
bool autoDownloadUpdates();
void SetAutoDownloadUpdates(bool in0);
Q_PROPERTY(bool AutoInstallUpdates READ autoInstallUpdates WRITE setAutoInstallUpdates NOTIFY
AutoInstallUpdatesChanged)
bool autoInstallUpdates();
void setAutoInstallUpdates(bool value);
qulonglong autoInstallUpdateType();
Q_PROPERTY(bool AutoCheckUpdates READ autoCheckUpdates NOTIFY AutoCheckUpdatesChanged)
bool autoCheckUpdates();
void SetAutoCheckUpdates(bool in0);
void SetMirrorSource(const QString &in0);
// ManagerInter
Q_PROPERTY(bool AutoClean READ autoClean NOTIFY AutoCleanChanged)
bool autoClean();
Q_PROPERTY(qulonglong UpdateMode READ updateMode WRITE setUpdateMode NOTIFY UpdateModeChanged)
quint64 updateMode();
void setUpdateMode(quint64 value);
Q_PROPERTY(QList<QDBusObjectPath> JobList READ jobList NOTIFY JobListChanged)
QList<QDBusObjectPath> jobList();
Q_PROPERTY(QString updateStatus READ updateStatus NOTIFY UpdateStatusChanged)
QString updateStatus();
Q_PROPERTY(bool ImmutableAutoRecovery READ immutableAutoRecovery NOTIFY ImmutableAutoRecoveryChanged)
bool immutableAutoRecovery();
Q_PROPERTY(bool P2PUpdateEnable READ p2PUpdateEnable NOTIFY P2PUpdateEnableChanged)
bool p2PUpdateEnable();
Q_PROPERTY(bool P2PUpdateSupport READ p2PUpdateSupport NOTIFY P2PUpdateSupportChanged)
bool p2PUpdateSupport();
QString hardwareId();
quint64 checkUpdateMode();
void setCheckUpdateMode(quint64 value);
QString idleDownloadConfig();
QString downloadSpeedLimitConfig();
bool p2pUpdateEnable();
QDBusPendingCall CanRollback();
QDBusPendingCall ConfirmRollback(bool confirm);
bool managerInterIsValid() const { return m_managerInter && m_managerInter->isValid(); }
QDBusPendingCall Poweroff(bool reboot = false);
QDBusPendingReply<QDBusObjectPath> UpdateSource();
void CleanJob(const QString &in0);
void SetAutoClean(bool in0);
void StartJob(const QString &in0);
void PauseJob(const QString &in0);
QDBusPendingReply<QDBusObjectPath> InstallPackage(const QString &jobname,
const QString &packages);
QDBusPendingReply<QDBusObjectPath> RemovePackage(const QString &jobname,
const QString &packages);
QDBusPendingReply<QList<QDBusObjectPath> > ClassifiedUpgrade(qulonglong in0);
QDBusPendingReply<qlonglong> PackagesDownloadSize(const QStringList &in0);
QDBusPendingReply<bool> PackageExists(const QString &pkgid);
QDBusPendingReply<QDBusObjectPath> DistUpgrade();
QDBusPendingReply<QDBusObjectPath> DistUpgradePartly(int updateTypes, bool doBackup);
QDBusPendingReply<void> SetDownloadSpeedLimit(const QString &config);
QDBusPendingReply<qlonglong> QueryAllSizeWithSource(int updateType);
QDBusPendingReply<QString> GetUpdateLogs(int updateType);
QDBusPendingReply<void> SetUpgradeDeliveryEnable(bool enable);
QDBusPendingReply<void> SetUpgradeDeliveryDownloadSpeedLimit(const QString& downloadLimit);
QDBusPendingReply<void> SetUpgradeDeliveryUploadSpeedLimit(const QString& uploadLimit);
QDBusPendingReply<void> ClearUpgradeDeliveryCache();
QDBusPendingReply<void> SetIdleDownloadConfig(const QString &config);
QDBusPendingReply<QDBusObjectPath> PrepareDistUpgradePartly(int updateMode);
QDBusPendingReply<QDBusObjectPath> fixError(const QString &errorType);
QDBusPendingCall CheckUpgrade(int checkMode, int checkOrder);
QDBusPendingReply<void> GetUpdateDetails(int fd, bool realtime);
QDBusPendingReply<void> SetShutdownForceUpdate(bool isShutdownUpdate);
// Power
bool onBattery();
BatteryPercentageInfo batteryPercentage();
// Atomic Upgrade
void commit(const QString &commitDate);
bool atomBackupIsRunning();
// Smart Mirror
Q_PROPERTY(bool Enable READ enable NOTIFY EnableChanged)
bool enable() const;
void SetEnable(bool enable);
// lockService
QString CurrentUser();
// shutdownFront
void Restart();
void UpdateAndReboot();
void UpdateAndShutdown();
signals:
// updater
void UpdateNotifyChanged(bool value) const;
void AutoDownloadUpdatesChanged(bool value) const;
void AutoInstallUpdatesChanged(bool value) const;
void AutoInstallUpdateTypeChanged(qulonglong value) const;
void MirrorSourceChanged(const QString &value) const;
void UpgradeDeliveryEnabledChanged(bool value) const;
void AutoCheckUpdatesChanged(bool value) const;
void ClassifiedUpdatablePackagesChanged(LastoreUpdatePackagesInfo value) const;
// ManagerInter
void JobListChanged(const QList<QDBusObjectPath> &value) const;
void AutoCleanChanged(bool value) const;
void UpdateModeChanged(qulonglong value) const;
void UpdateStatusChanged(QString value) const;
void ImmutableAutoRecoveryChanged(bool value) const;
void P2PUpdateEnableChanged(bool value) const;
void P2PUpdateSupportChanged(bool value) const;
void managerInterServiceValidChanged(bool value) const;
// Power
void OnBatteryChanged(bool value) const;
void BatteryPercentageChanged(BatteryPercentageInfo value) const;
// Atomic Upgrade
void StateChanged(int operate, int state, QString version, QString message);
void RunningChanged(bool value) const;
// Smart Mirror
void EnableChanged(bool enable);
private:
DDBusInterface *m_hostname1Inter;
DDBusInterface *m_updateInter;
DDBusInterface *m_managerInter;
DDBusInterface *m_powerInter;
DDBusInterface *m_atomicUpgradeInter;
DDBusInterface *m_smartMirrorInter;
DDBusInterface *m_login1Inter;
DDBusInterface *m_lockServiceInter;
DDBusInterface *m_shutdownFrontInter;
QDBusServiceWatcher *m_interWatcher;
};
#endif // UPDATEDBUSPROXY_H