Files
cloudsave-gui/client.h
2025-09-14 11:41:29 +02:00

39 lines
1.8 KiB
C++

#ifndef CLIENT_H
#define CLIENT_H
#include <QObject>
#include "information.h"
#include "metadata.h"
#include "backup.h"
class Client
{
public:
Client(QString url, QString username, QString password);
void exists(QString gameID, std::function<void(bool)> callback, std::function<void(QString)> errorCallback);
void version(std::function<void(Information)> callback, std::function<void(QString)> errorCallback);
void hash(QString gameID, std::function<void(QString)> callback, std::function<void(QString)> errorCallback);
void metadata(QString gameID, std::function<void(Metadata)> callback, std::function<void(QString)> errorCallback);
void pushSave(QString archivePath, Metadata game, std::function<void(QString)> errorCallback);
void pushBackup(QString archivePath, Metadata game, std::function<void(Metadata)> callback, std::function<void(QString)> errorCallback);
void listArchives(QString gameID, std::function<void(QVector<QString>)> callback, std::function<void(QString)> errorCallback);
void archiveInfo(QString gameID, QString backupID, std::function<void(Backup)> callback, std::function<void(QString)> errorCallback);
void pull(QString gameID, QString archivePath, std::function<void(Metadata)> callback, std::function<void(QString)> errorCallback);
void pullBackup(QString gameID, QString backupID, QString archivePath, std::function<void(Metadata)> callback, std::function<void(QString)> errorCallback);
bool ping();
void all(std::function<void(QVector<Metadata>)> callback, std::function<void(QString)> errorCallback);
QString baseURL();
private:
QString url;
QString username;
QString password;
void push(QUrl url, QString archivePath, Metadata g, std::function<void(QString)> errorCallback);
QString toBase64Header(QString username, QString password);
};
#endif // CLIENT_H