#pragma once #include #include #include #include #include #include #include #include #include #include #include #include class CommaApi : public QObject { Q_OBJECT public: static QByteArray rsa_sign(QByteArray data); static QString create_jwt(QVector> payloads, int expiry=3600); static QString create_jwt(); private: QNetworkAccessManager* networkAccessManager; }; /** * Makes repeated requests to the request endpoint. */ class RequestRepeater : public QObject { Q_OBJECT public: explicit RequestRepeater(QWidget* parent, QString requestURL, int period = 10, const QString &cache_key = "", QVector> payloads = *(new QVector>()), bool disableWithScreen = true); bool active = true; private: bool disableWithScreen; QNetworkReply* reply; QNetworkAccessManager* networkAccessManager; QTimer* networkTimer; QString cache_key; void sendRequest(QString requestURL, QVector> payloads); private slots: void requestTimeout(); void requestFinished(); signals: void receivedResponse(QString response); void failedResponse(QString errorString); };