#ifndef SERVERCOMMUNICATOR_H #define SERVERCOMMUNICATOR_H #include #include #include #include class ServerCommunicator : public QObject { Q_OBJECT public: explicit ServerCommunicator(QObject* parent = nullptr); bool sslSupported(); QUrl url() const; void setUrl(const QUrl& url); void setServerConfiguration(const QString url, const QString email, const QString password); public slots: void fetchItems(); void postItems(const QByteArray& jsonData); void deleteItem(const QString& id); signals: void urlChanged(); void itemsFetched(const QByteArray jsonDoc); void itemsFetchFailure(const QString errorString); void postRequestSuccessful(const QByteArray responseData); void postRequestFailure(const QString errorString); void deleteRequestSuccessful(const QByteArray responseData); void deleteRequestFailure(const QString errorString); private: QNetworkAccessManager m_netManager; std::shared_ptr m_restManager; std::shared_ptr m_serviceApi; QString m_email; QString m_password; // QString m_authToken; }; #endif // SERVERCOMMUNICATOR_H