Files
archpack/cpp/updatemanager/updatemanager.hpp

51 lines
1.2 KiB
C++

#pragma once
#include <QObject>
#include <QProcess>
#include <QProcessEnvironment>
#include <QQmlEngine>
#include <QStringList>
#include <QTemporaryDir>
#include <QTimer>
#include <QVariantList>
class UpdateManager : public QObject
{
Q_OBJECT
QML_ELEMENT
QML_SINGLETON
Q_PROPERTY(int packageCount READ packageCount NOTIFY packageCountChanged)
Q_PROPERTY(bool isChecking READ isChecking NOTIFY isCheckingChanged)
Q_PROPERTY(bool isUpdating READ isUpdating NOTIFY isUpdatingChanged)
Q_PROPERTY(bool isInstalling READ isInstalling NOTIFY isInstallingChanged)
Q_PROPERTY(bool isRemoving READ isRemoving NOTIFY isRemovingChanged)
public:
explicit UpdateManager(QObject* parent = nullptr);
public:
int packageCount() const;
bool isChecking() const;
bool isUpdating() const;
bool isInstalling() const;
bool isRemoving() const;
private:
QProcess m_process;
private:
bool m_isChecking = false;
bool m_isUpdating = false;
bool m_isInstalling = false;
bool m_isRemoving = false;
signals:
void packageCountChanged();
void isCheckingChanged();
void isUpdatingChanged();
void isInstallingChanged();
void isRemovingChanged();
};