Skip to content
Snippets Groups Projects
appimagehandler.cpp 1.21 KiB
Newer Older
akiraohgaki's avatar
akiraohgaki committed
#include "appimagehandler.h"

#ifdef QTLIB_UNIX
#include "appimage/update.h"
#endif

#include "handlers/confighandler.h"

AppImageHandler::AppImageHandler(ConfigHandler *configHandler, QObject *parent)
    : QObject(parent), configHandler_(configHandler)
{}

akiraohgaki's avatar
akiraohgaki committed
QString AppImageHandler::describeAppImage(const QString &path) const
{
    QString updateInformation;

#ifdef QTLIB_UNIX
    appimage::update::Updater appImageUpdater(path.toStdString());
    std::string description;
    if (appImageUpdater.describeAppImage(description)) {
        updateInformation = QString::fromStdString(description);
    }
#endif

    return updateInformation;
}

akiraohgaki's avatar
akiraohgaki committed
bool AppImageHandler::isUpdateAvailable(const QString &path) const
{
#ifdef QTLIB_UNIX
    appimage::update::Updater appImageUpdater(path.toStdString());
    bool updateAvailable;
akiraohgaki's avatar
akiraohgaki committed
    if (appImageUpdater.checkForChanges(updateAvailable)) {
        return updateAvailable;
    }
akiraohgaki's avatar
akiraohgaki committed
#endif
akiraohgaki's avatar
akiraohgaki committed

akiraohgaki's avatar
akiraohgaki committed
    return false;
}

#ifdef QTLIB_UNIX
bool AppImageHandler::updateAppImage(const QString &path) const
{
    appimage::update::Updater appImageUpdater(path.toStdString(), false);
akiraohgaki's avatar
akiraohgaki committed
    /*if (appImageUpdater.start()) {
        // TODO: make signals&slots bindings later
    }*/

    return false;
akiraohgaki's avatar
akiraohgaki committed
}
#endif