/
books_data_manager.h
49 lines (38 loc) · 1.38 KB
/
books_data_manager.h
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
#ifndef BOOKS_DATA_MANAGER_H
#define BOOKS_DATA_MANAGER_H
#include <QObject>
#include <QVariantList>
#include <QNetworkReply>
#include <QNetworkAccessManager>
class BooksDataManager : public QObject
{
Q_OBJECT
public:
BooksDataManager();
//Requests to Google API service.
void getMyLibraryBookshelves(const QString& access_token);
void getMyLibraryVolumes(const QString& access_token, int shelf_id);
void removeVolumeFromMyLibrary(const QString& access_token, int shelf_id, const QString& volume_id);
void clearVolumesFromMyLibrary(const QString& access_token, int shelf_id);
void addVolumeToMyLibrary(const QString& access_token, int shelf_id, const QString& volume_id);
void searchVolumes(const QString& search_string);
//Getting currently read bookshelves and volumes.
QVariantList getBookshelves();
QVariantList getVolumes();
QVariantList getSearchVolumes();
signals:
//Signals that are sent when reading is finished, and the results are ready.
void bookshelvesReady();
void volumesReady();
void searchVolumesReady();
void errorOccured(const QString& error);
void volumeRemoved();
private slots:
void replyFinished(QNetworkReply*);
private:
QVariantList m_bookshelves;
QVariantList m_volumes;
QVariantList m_searchVolumes;
QNetworkAccessManager* m_pNetworkAccessManager;
};
#endif // BOOKS_DATA_MANAGER_H