Forked from
akiraohgaki / ocs-url
451 commits behind the upstream repository.
-
akiraohgaki authoredakiraohgaki authored
xdgurl.h 1.06 KiB
#ifndef HANDLERS_XDGURL_H
#define HANDLERS_XDGURL_H
#include <QObject>
#include <QJsonObject>
class QNetworkReply;
namespace Core {
class Config;
class Network;
}
namespace Handlers {
class XdgUrl : public QObject
{
Q_OBJECT
private:
QString _xdgUrl;
Core::Config *_appConfig;
Core::Config *_userConfig;
Core::Network *_asyncNetwork;
QJsonObject _metadata;
QJsonObject _destinations;
public:
explicit XdgUrl(const QString &xdgUrl, Core::Config *appConfig, Core::Config *userConfig, Core::Network *asyncNetwork, QObject *parent = 0);
private:
QJsonObject _parse();
QString _convertPathString(const QString &path);
QJsonObject _loadDestinations();
void _saveDownloadedFile(QNetworkReply *reply);
void _installDownloadedFile(QNetworkReply *reply);
private slots:
void _downloaded(QNetworkReply *reply);
public slots:
QString getXdgUrl();
QString getMetadata();
bool isValid();
void process();
signals:
void finished(const QString &result);
};
} // namespace Handlers
#endif // HANDLERS_XDGURL_H