From 2f8c752d1fe9976fdbd683d34ae3dcbf4e797591 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 20 Nov 2016 12:32:27 +0100 Subject: NOISSUE reformat and sanitize ganalytics --- libraries/ganalytics/include/ganalytics.h | 65 +++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 libraries/ganalytics/include/ganalytics.h (limited to 'libraries/ganalytics/include') diff --git a/libraries/ganalytics/include/ganalytics.h b/libraries/ganalytics/include/ganalytics.h new file mode 100644 index 00000000..7cbd2c85 --- /dev/null +++ b/libraries/ganalytics/include/ganalytics.h @@ -0,0 +1,65 @@ +#pragma once + +#include +#include + +class QNetworkAccessManager; +class GAnalyticsWorker; + +class GAnalytics : public QObject +{ + Q_OBJECT + Q_ENUMS(LogLevel) + +public: + explicit GAnalytics(const QString &trackingID, const QString &clientID, QObject *parent = 0); + ~GAnalytics(); + +public: + enum LogLevel + { + Debug, + Info, + Error + }; + + void setLogLevel(LogLevel logLevel); + LogLevel logLevel() const; + + // Getter and Setters + void setViewportSize(const QString &viewportSize); + QString viewportSize() const; + + void setLanguage(const QString &language); + QString language() const; + + void setSendInterval(int milliseconds); + int sendInterval() const; + + void startSending(); + bool isSending() const; + + /// Get or set the network access manager. If none is set, the class creates its own on the first request + void setNetworkAccessManager(QNetworkAccessManager *networkAccessManager); + QNetworkAccessManager *networkAccessManager() const; + +public slots: + void sendScreenView(const QString &screenName, const QVariantMap &customValues = QVariantMap()); + void sendEvent(const QString &category, const QString &action, const QString &label = QString(), const QVariant &value = QVariant(), + const QVariantMap &customValues = QVariantMap()); + void sendException(const QString &exceptionDescription, bool exceptionFatal = true, const QVariantMap &customValues = QVariantMap()); + void startSession(); + void endSession(); + +signals: + void isSendingChanged(bool isSending); + +private: + GAnalyticsWorker *d; + + friend QDataStream &operator<<(QDataStream &outStream, const GAnalytics &analytics); + friend QDataStream &operator>>(QDataStream &inStream, GAnalytics &analytics); +}; + +QDataStream &operator<<(QDataStream &outStream, const GAnalytics &analytics); +QDataStream &operator>>(QDataStream &inStream, GAnalytics &analytics); -- cgit v1.2.3