File: OAIDrivesApi.h

package info (click to toggle)
libre-graph-api-cpp-qt-client 1.0.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,480 kB
  • sloc: cpp: 244; makefile: 8
file content (145 lines) | stat: -rw-r--r-- 5,490 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
// api-header.mustache

// licenseInfo.mustache

/**
 * Libre Graph API
 * Libre Graph is a free API for cloud collaboration inspired by the MS Graph API.
 *
 * The version of the OpenAPI document: v1.0.4
 *
 * 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_OAIDrivesApi_H
#define OAI_OAIDrivesApi_H

#include "OAIHelpers.h"
#include "OAIHttpRequest.h"
#include "OAIServerConfiguration.h"
#include "OAIOauth.h"

#include "OAIDrive.h"
#include "OAIOdata_error.h"
#include <QString>

#include <QObject>
#include <QByteArray>
#include <QStringList>
#include <QList>
#include <QNetworkAccessManager>

namespace OpenAPI {

class OAIDrivesApi : public QObject {
    Q_OBJECT

public:
    OAIDrivesApi(const int timeOut = 0);
    ~OAIDrivesApi();

    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]  oai_drive OAIDrive [required]
    */
    void createDrive(const OAIDrive &oai_drive);

    /**
    * @param[in]  drive_id QString [required]
    * @param[in]  if_match QString [optional]
    */
    void deleteDrive(const QString &drive_id, const ::OpenAPI::OptionalParam<QString> &if_match = ::OpenAPI::OptionalParam<QString>());

    /**
    * @param[in]  drive_id QString [required]
    */
    void getDrive(const QString &drive_id);

    /**
    * @param[in]  drive_id QString [required]
    * @param[in]  oai_drive OAIDrive [required]
    */
    void updateDrive(const QString &drive_id, const OAIDrive &oai_drive);


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 createDriveCallback(OAIHttpRequestWorker *worker);
    void deleteDriveCallback(OAIHttpRequestWorker *worker);
    void getDriveCallback(OAIHttpRequestWorker *worker);
    void updateDriveCallback(OAIHttpRequestWorker *worker);

signals:

    void createDriveSignal(OAIDrive summary);
    void deleteDriveSignal();
    void getDriveSignal(OAIDrive summary);
    void updateDriveSignal(OAIDrive summary);

    void createDriveSignalFull(OAIHttpRequestWorker *worker, OAIDrive summary);
    void deleteDriveSignalFull(OAIHttpRequestWorker *worker);
    void getDriveSignalFull(OAIHttpRequestWorker *worker, OAIDrive summary);
    void updateDriveSignalFull(OAIHttpRequestWorker *worker, OAIDrive summary);

    void createDriveSignalE(OAIDrive summary, QNetworkReply::NetworkError error_type, QString error_str);
    void deleteDriveSignalE(QNetworkReply::NetworkError error_type, QString error_str);
    void getDriveSignalE(OAIDrive summary, QNetworkReply::NetworkError error_type, QString error_str);
    void updateDriveSignalE(OAIDrive summary, QNetworkReply::NetworkError error_type, QString error_str);

    void createDriveSignalEFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, QString error_str);
    void deleteDriveSignalEFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, QString error_str);
    void getDriveSignalEFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, QString error_str);
    void updateDriveSignalEFull(OAIHttpRequestWorker *worker, QNetworkReply::NetworkError error_type, QString error_str);

    void abortRequestsSignal();
    void allPendingRequestsCompleted();

public slots:
    void tokenAvailable();
    
};

} // namespace OpenAPI
#endif