diff options
author | Petr Mrázek <peterix@gmail.com> | 2016-11-20 12:32:27 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2016-11-21 01:19:22 +0100 |
commit | 2f8c752d1fe9976fdbd683d34ae3dcbf4e797591 (patch) | |
tree | 2b9fbba468b93accbf9affb07f9ea3b5f9938c66 /libraries/ganalytics/include/ganalytics.h | |
parent | 2ec15c32e4419c94995f78b1d1ef8790e71b3317 (diff) | |
download | MultiMC-2f8c752d1fe9976fdbd683d34ae3dcbf4e797591.tar MultiMC-2f8c752d1fe9976fdbd683d34ae3dcbf4e797591.tar.gz MultiMC-2f8c752d1fe9976fdbd683d34ae3dcbf4e797591.tar.lz MultiMC-2f8c752d1fe9976fdbd683d34ae3dcbf4e797591.tar.xz MultiMC-2f8c752d1fe9976fdbd683d34ae3dcbf4e797591.zip |
NOISSUE reformat and sanitize ganalytics
Diffstat (limited to 'libraries/ganalytics/include/ganalytics.h')
-rw-r--r-- | libraries/ganalytics/include/ganalytics.h | 65 |
1 files changed, 65 insertions, 0 deletions
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 <QObject> +#include <QVariantMap> + +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); |