Skip to content
Snippets Groups Projects
ocsapihandler.h 994 B
Newer Older
akiraohgaki's avatar
akiraohgaki committed
#pragma once

#include <QObject>
#include <QJsonObject>

class ConfigHandler;

akiraohgaki's avatar
akiraohgaki committed
class OcsApiHandler : public QObject
akiraohgaki's avatar
akiraohgaki committed
{
    Q_OBJECT

public:
akiraohgaki's avatar
akiraohgaki committed
    explicit OcsApiHandler(ConfigHandler *configHandler, QObject *parent = nullptr);
akiraohgaki's avatar
akiraohgaki committed

public slots:
akiraohgaki's avatar
akiraohgaki committed
    bool addProviders(const QString &providerFileUrl) const;
    bool removeProvider(const QString &providerKey) const;
    bool updateAllCategories(bool force = false) const;
    bool updateCategories(const QString &providerKey, bool force = false) const;
akiraohgaki's avatar
akiraohgaki committed
    QJsonObject getContents(const QString &providerKeys = QString(), const QString &categoryKeys = QString(),
                            const QString &xdgTypes = QString(), const QString &packageTypes = QString(),
                            const QString &search = QString(), const QString &sortmode = QString("new"), int pagesize = 25, int page = 0) const;
akiraohgaki's avatar
akiraohgaki committed
    QJsonObject getContent(const QString &providerKey, const QString &contentId) const;
akiraohgaki's avatar
akiraohgaki committed

private:
    ConfigHandler *configHandler_;
};