/* blueROCK - for digital rock Copyright (C) 2019 Dorian Zedler This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef SERVERCONN_H #define SERVERCONN_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "QZXing.h" #ifdef Q_OS_ANDROID #include #elif defined Q_OS_IOS #include "iospermissionutils.h" #endif #include "shareUtils/shareutils.h" class BlueRockBackend : public QObject { Q_OBJECT public: explicit BlueRockBackend(QObject *parent = nullptr); private: QVariantMap _senddata(QUrl serviceUrl, QUrlQuery pdata = QUrlQuery()); ShareUtils* _shareUtils; #ifdef Q_OS_IOS IosPermissionUtils* _iosPermissionUtils; #endif const QStringList _validBaseDomains = {"digitalrock.de", "bluerock.dev"}; bool _pendingIntentsChecked; signals: Q_INVOKABLE void openedViaUrl(QString url, QString scheme); public slots: Q_INVOKABLE QVariant getWidgetData(QVariantMap params); Q_INVOKABLE QVariantMap getParamsFromUrl(QString url); Q_INVOKABLE void shareResultsAsUrl(QString url, QString compName); Q_INVOKABLE void shareResultsAsPoster(QString url, QString compName); Q_INVOKABLE bool isCameraPermissionGranted(); Q_INVOKABLE bool requestCameraPermission(); #if defined(Q_OS_ANDROID) void onApplicationStateChanged(Qt::ApplicationState applicationState); #endif }; #endif // SERVERCONN_H