Changeset View
Changeset View
Standalone View
Standalone View
src/job/gravatarresolvurljob.h
Show All 19 Lines | |||||
20 | #ifndef GRAVATARRESOLVURLJOB_H | 20 | #ifndef GRAVATARRESOLVURLJOB_H | ||
21 | #define GRAVATARRESOLVURLJOB_H | 21 | #define GRAVATARRESOLVURLJOB_H | ||
22 | 22 | | |||
23 | #include "gravatar_export.h" | 23 | #include "gravatar_export.h" | ||
24 | #include <QObject> | 24 | #include <QObject> | ||
25 | #include <QUrl> | 25 | #include <QUrl> | ||
26 | #include <QPixmap> | 26 | #include <QPixmap> | ||
27 | #include <QNetworkReply> | 27 | #include <QNetworkReply> | ||
28 | | ||||
29 | class GravatarResolvUrlJobTest; | ||||
28 | namespace Gravatar { | 30 | namespace Gravatar { | ||
29 | class GravatarResolvUrlJobPrivate; | 31 | class GravatarResolvUrlJobPrivate; | ||
32 | class Hash; | ||||
33 | | ||||
30 | class GRAVATAR_EXPORT GravatarResolvUrlJob : public QObject | 34 | class GRAVATAR_EXPORT GravatarResolvUrlJob : public QObject | ||
31 | { | 35 | { | ||
32 | Q_OBJECT | 36 | Q_OBJECT | ||
33 | public: | 37 | public: | ||
34 | explicit GravatarResolvUrlJob(QObject *parent = nullptr); | 38 | explicit GravatarResolvUrlJob(QObject *parent = nullptr); | ||
35 | ~GravatarResolvUrlJob(); | 39 | ~GravatarResolvUrlJob(); | ||
36 | 40 | | |||
37 | bool canStart() const; | 41 | bool canStart() const; | ||
38 | void start(); | 42 | void start(); | ||
39 | 43 | | |||
40 | QString email() const; | 44 | QString email() const; | ||
41 | void setEmail(const QString &email); | 45 | void setEmail(const QString &email); | ||
42 | 46 | | |||
43 | QUrl generateGravatarUrl(bool useLibravatar); | | |||
44 | | ||||
45 | bool hasGravatar() const; | 47 | bool hasGravatar() const; | ||
46 | 48 | | |||
47 | QString calculatedHash() const; | | |||
48 | | ||||
49 | void setSize(int size); | 49 | void setSize(int size); | ||
50 | | ||||
51 | int size() const; | 50 | int size() const; | ||
52 | 51 | | |||
53 | QPixmap pixmap() const; | 52 | QPixmap pixmap() const; | ||
54 | 53 | | |||
55 | bool useDefaultPixmap() const; | 54 | bool useDefaultPixmap() const; | ||
56 | void setUseDefaultPixmap(bool useDefaultPixmap); | 55 | void setUseDefaultPixmap(bool useDefaultPixmap); | ||
57 | 56 | | |||
58 | bool useLibravatar() const; | 57 | bool useLibravatar() const; | ||
59 | void setUseLibravatar(bool useLibravatar); | 58 | void setUseLibravatar(bool useLibravatar); | ||
60 | 59 | | |||
61 | bool fallbackGravatar() const; | 60 | bool fallbackGravatar() const; | ||
62 | void setFallbackGravatar(bool fallbackGravatar); | 61 | void setFallbackGravatar(bool fallbackGravatar); | ||
63 | 62 | | |||
64 | Q_SIGNALS: | 63 | Q_SIGNALS: | ||
65 | void finished(Gravatar::GravatarResolvUrlJob *); | 64 | void finished(Gravatar::GravatarResolvUrlJob *); | ||
66 | void resolvUrl(const QUrl &url); | 65 | void resolvUrl(const QUrl &url); | ||
67 | 66 | | |||
68 | private Q_SLOTS: | 67 | private Q_SLOTS: | ||
69 | void slotFinishLoadPixmap(QNetworkReply *reply); | 68 | void slotFinishLoadPixmap(QNetworkReply *reply); | ||
70 | void slotError(QNetworkReply::NetworkError error); | | |||
71 | 69 | | |||
72 | private: | 70 | private: | ||
71 | friend class ::GravatarResolvUrlJobTest; | ||||
72 | | ||||
73 | QUrl generateGravatarUrl(bool useLibravatar); | ||||
74 | Hash calculatedHash() const; | ||||
75 | void processNextBackend(); | ||||
73 | void startNetworkManager(const QUrl &url); | 76 | void startNetworkManager(const QUrl &url); | ||
74 | QUrl createUrl(bool useLibravatar); | 77 | QUrl createUrl(bool useLibravatar); | ||
75 | QString calculateHash(bool useLibravator); | 78 | Hash calculateHash(bool useLibravator); | ||
76 | bool cacheLookup(const QString &hash); | 79 | bool cacheLookup(const Hash &hash); | ||
77 | GravatarResolvUrlJobPrivate *const d; | 80 | GravatarResolvUrlJobPrivate *const d; | ||
78 | }; | 81 | }; | ||
79 | } | 82 | } | ||
80 | 83 | | |||
81 | #endif // GRAVATARRESOLVURLJOB_H | 84 | #endif // GRAVATARRESOLVURLJOB_H |