/**
* GameBrain API
* GameBrain API
*
* The version of the OpenAPI document: 1.0.1
* Contact: mail@gamebrain.co
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
#ifndef OAI_OAIDefaultApi_H
#define OAI_OAIDefaultApi_H
#include "OAIHelpers.h"
#include "OAIHttpRequest.h"
#include "OAIServerConfiguration.h"
#include "OAIOauth.h"
#include "OAIGameResponse.h"
#include "OAISearchResponse.h"
#include "OAISearchSuggestionResponse.h"
#include "OAISimilarGamesResponse.h"
#include <QString>
#include <QObject>
#include <QByteArray>
#include <QStringList>
#include <QList>
#include <QNetworkAccessManager>
namespace OpenAPI {
class OAIDefaultApi : public QObject {
Q_OBJECT
public:
OAIDefaultApi(const int timeOut = 0);
~OAIDefaultApi();
void initializeServerConfigs();
int setDefaultServerValue(int serverIndex,const QString &operation, const QString &variable,const QString &val);
void setServerIndex(const QString &operation, int serverIndex);
void setApiKey(const QString &apiKeyName, const QString &apiKey);
void setBearerToken(const QString &token);
void setUsername(const QString &username);
void setPassword(const QString &password);
void setTimeOut(const int timeOut);
void setWorkingDirectory(const QString &path);
void setNetworkAccessManager(QNetworkAccessManager* manager);
int addServerConfiguration(const QString &operation, const QUrl &url, const QString &description = "", const QMap<QString, OAIServerVariable> &variables = QMap<QString, OAIServerVariable>());
void setNewServerForAllOperations(const QUrl &url, const QString &description = "", const QMap<QString, OAIServerVariable> &variables = QMap<QString, OAIServerVariable>());
void setNewServer(const QString &operation, const QUrl &url, const QString &description = "", const QMap<QString, OAIServerVariable> &variables = QMap<QString, OAIServerVariable>());
void addHeaders(const QString &key, const QString &value);
void enableRequestCompression();
void enableResponseCompression();
void abortRequests();
QString getParamStylePrefix(const QString &style);
QString getParamStyleSuffix(const QString &style);
QString getParamStyleDelimiter(const QString &style, const QString &name, bool isExplode);
/**
* @param[in] id qint32 [required]
* @param[in] api_key QString [required]
*/
void detail(const qint32 &id, const QString &api_key);
/**
* @param[in] query QString [required]
* @param[in] offset qint32 [required]
* @param[in] limit qint32 [required]
* @param[in] filters QString [required]
* @param[in] sort QString [required]
* @param[in] sort_order QString [required]
* @param[in] generate_filter_options bool [required]
* @param[in] api_key QString [required]
*/
void search(const QString &query, const qint32 &offset, const qint32 &limit, const QString &filters, const QString &sort, const QString &sort_order, const bool &generate_filter_options, const QString &api_key);
/**
* @param[in] id qint32 [required]
* @param[in] limit qint32 [required]
* @param[in] api_key QString [required]
*/
void similar(const qint32 &id, const qint32 &limit, const QString &api_key);
/**
* @param[in] query QString [required]
* @param[in] limit qint32 [required]
* @param[in] api_key QString [required]
*/
void suggest(const QString &query, const qint32 &limit, const QString &api_key);
private:
QMap<QString,int> _serverIndices;
QMap<QString,QList<OAIServerConfiguration>> _serverConfigs;
QMap<QString, QString> _apiKeys;
QString _bearerToken;
QString _username;
QString _password;
int _timeOut;
QString _workingDirectory;
QNetworkAccessManager* _manager;
QMap<QString, QString> _defaultHeaders;
bool _isResponseCompressionEnabled;
bool _isRequestCompressionEnabled;
OAIHttpRequestInput _latestInput;
OAIHttpRequestWorker *_latestWorker;
QStringList _latestScope;
OauthCode _authFlow;
OauthImplicit _implicitFlow;
OauthCredentials _credentialFlow;
OauthPassword _passwordFlow;
int _OauthMethod = 0;
void detailCallback(OAIHttpRequestWorker *worker);
void searchCallback(OAIHttpRequestWorker *worker);
void similarCallback(OAIHttpRequestWorker *worker);
void suggestCallback(OAIHttpRequestWorker *worker);
Q_SIGNALS:
void detailSignal(OAIGameResponse summary);
void searchSignal(OAISearchResponse summary);
void similarSignal(OAISimilarGamesResponse summary);
void suggestSignal(OAISearchSuggestionResponse summary);
void detailSignalFull(OAIHttpRequestWorker *worker, OAIGameResponse summary);
void searchSignalFull(OAIHttpRequestWorker *worker, OAISearchResponse summary);
void similarSignalFull(OAIHttpRequestWorker *worker, OAISimilarGamesResponse summary);
void suggestSignalFull(OAIHttpRequestWorker *worker, OAISearchSuggestionResponse summary);
Q_DECL_DEPRECATED_X("Use detailSignalError() instead")
void detailSignalE(OAIGameResponse summary, QNetworkReply::NetworkError error_type, QString error_str);
void detailSignalError(OAIGameResponse summary, QNetworkReply::NetworkError error_type, const QString &error_str);
Q_DECL_DEPRECATED_X("Use searchSignalError() instead")
void searchSignalE(OAISearchResponse summary, QNetworkReply::NetworkError error_type, QString error_str);
void searchSignalError(OAISearchResponse summary, QNetworkReply::NetworkError error_type, const QString &error_str);
Q_DECL_DEPRECATED_X("Use similarSignalError() instead")
void similarSignalE(OAISimilarGamesResponse summary, QNetworkReply::NetworkError error_type, QString error_str);
void similarSignalError(OAISimilarGamesResponse summary, QNetworkReply::NetworkError error_type, const QString &error_str);
Q_DECL_DEPRECATED_X("Use suggestSignalError() instead")
void suggestSignalE(OAISearchSuggestionResponse summary, QNetworkReply::NetworkError error_type, QString error_str);
void suggestSignalError(OAISearchSuggestionResponse summary, QNetworkReply::NetworkError error_type, const QString &error_str);
Q_DECL_DEPRECATED_X("Use detailSignalErrorFull() instead")
void detailSignalEFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, QString error_str);
void detailSignalErrorFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, const QString &error_str);
Q_DECL_DEPRECATED_X("Use searchSignalErrorFull() instead")
void searchSignalEFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, QString error_str);
void searchSignalErrorFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, const QString &error_str);
Q_DECL_DEPRECATED_X("Use similarSignalErrorFull() instead")
void similarSignalEFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, QString error_str);
void similarSignalErrorFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, const QString &error_str);
Q_DECL_DEPRECATED_X("Use suggestSignalErrorFull() instead")
void suggestSignalEFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, QString error_str);
void suggestSignalErrorFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, const QString &error_str);
void abortRequestsSignal();
void allPendingRequestsCompleted();
public Q_SLOTS:
void tokenAvailable();
};
} // namespace OpenAPI
#endif