api.h
Go to the documentation of this file.
1 #ifndef API_API_H
2 #define API_API_H
3 
4 #include <QString>
5 #include <QFile>
6 #include "dnai/http/observable.h"
7 #include "dnai/http/config.h"
8 #include "dnai/http/types.h"
9 
10 //using namespace dnai::http;
11 
12 
13 namespace dnai {
14  class api {
15  public:
16  struct User {
17  QString token;
18  QString refresh_token;
19  QString id;
20  QDateTime expire_date;
21  };
22 
23  public:
24  static const http::Config http_config;
25  static const QString settings_key;
26  static bool rememberUser;
27  public:
28  static bool refreshing_token;
29  static quint64 refreshing_delta;
30 
31  public:
32  static const QString client_id;
33  static const QString client_secret;
34  static User user;
35 
36  public:
37  static QString const &getToken();
38  static QString const &getId();
39  static void setUser(User const &);
40 
41  public:
42  static http::Observable &signin(QString const &, QString const &);
45  static http::Observable &get_files();
46  static http::Observable &get_file(QString const &);
47  static http::Observable &get_raw_file(QString const &);
48  static http::Observable &post_file(QString const &, QFile *);
49  static http::Observable &get_download_object(QString const &platform, QString const &slug);
50  static void logout();
51  };
52 }
53 
54 Q_DECLARE_METATYPE(dnai::api::User)
55 
56 QDataStream& operator<<(QDataStream& out, const dnai::api::User& v);
57 
58 QDataStream& operator>>(QDataStream& in, dnai::api::User& v);
59 
60 #endif // API_API_H
static const QString settings_key
Definition: api.h:25
static http::Observable & refresh_token()
Definition: api.cpp:59
static http::Observable & signin(QString const &, QString const &)
Definition: api.cpp:35
static const http::Config http_config
Definition: api.h:24
static User user
Definition: api.h:34
static http::Observable & get_files()
Definition: api.cpp:94
static quint64 refreshing_delta
Definition: api.h:29
static QString const & getToken()
Definition: api.cpp:132
static http::Observable & get_raw_file(QString const &)
Definition: api.cpp:109
static QString const & getId()
Definition: api.cpp:137
static const QString client_id
Definition: api.h:32
Definition: api.h:16
static http::Observable & get_current_user()
Definition: api.cpp:85
static void logout()
Definition: api.cpp:126
static http::Observable & get_file(QString const &)
Definition: api.cpp:104
QString refresh_token
Definition: api.h:18
Definition: observable.h:14
QString token
Definition: api.h:17
static bool refreshing_token
Definition: api.h:28
static http::Observable & post_file(QString const &, QFile *)
Definition: api.cpp:114
Definition: api.h:14
Definition: api.h:13
QString id
Definition: api.h:19
static http::Observable & get_download_object(QString const &platform, QString const &slug)
Definition: api.cpp:99
static bool rememberUser
Definition: api.h:26
static const QString client_secret
Definition: api.h:33
static void setUser(User const &)
Definition: api.cpp:141
QDateTime expire_date
Definition: api.h:20
Definition: config.h:9