2019-05-11 15:21:43 +02:00
|
|
|
/*
|
|
|
|
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 <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
2019-04-20 22:57:40 +02:00
|
|
|
#ifndef SERVERCONN_H
|
|
|
|
#define SERVERCONN_H
|
|
|
|
|
|
|
|
#include <QObject>
|
|
|
|
#include <QtNetwork>
|
|
|
|
#include <QEventLoop>
|
|
|
|
#include <QTimer>
|
|
|
|
#include <QUrl>
|
2021-06-19 09:06:52 +02:00
|
|
|
#include <QPainter>
|
|
|
|
#include <QPixmap>
|
|
|
|
#include <QBrush>
|
|
|
|
#include <QTextCharFormat>
|
|
|
|
#include <QTextDocument>
|
|
|
|
#include <QTextCursor>
|
|
|
|
#include <QPageSize>
|
|
|
|
#include <QPdfWriter>
|
2021-07-08 00:28:32 +02:00
|
|
|
#include <QSizeF>
|
2021-06-20 15:09:53 +02:00
|
|
|
#include "QZXing.h"
|
2021-06-19 09:06:52 +02:00
|
|
|
|
2021-06-21 16:03:42 +02:00
|
|
|
#ifdef Q_OS_ANDROID
|
|
|
|
#include <QtAndroidExtras>
|
2021-06-25 23:22:28 +02:00
|
|
|
#elif defined Q_OS_IOS
|
|
|
|
#include "iospermissionutils.h"
|
2021-06-21 16:03:42 +02:00
|
|
|
#endif
|
|
|
|
|
2021-06-19 09:06:52 +02:00
|
|
|
#include "shareUtils/shareutils.h"
|
2019-04-20 22:57:40 +02:00
|
|
|
|
2021-06-11 11:49:09 +02:00
|
|
|
class BlueRockBackend : public QObject
|
2019-04-20 22:57:40 +02:00
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
2021-06-11 11:49:09 +02:00
|
|
|
explicit BlueRockBackend(QObject *parent = nullptr);
|
2019-04-20 22:57:40 +02:00
|
|
|
|
|
|
|
private:
|
2021-06-20 15:09:53 +02:00
|
|
|
QVariantMap _senddata(QUrl serviceUrl, QUrlQuery pdata = QUrlQuery());
|
2019-04-20 22:57:40 +02:00
|
|
|
|
2021-06-19 09:06:52 +02:00
|
|
|
ShareUtils* _shareUtils;
|
2021-06-29 17:51:29 +02:00
|
|
|
#ifdef Q_OS_IOS
|
2021-06-25 23:22:28 +02:00
|
|
|
IosPermissionUtils* _iosPermissionUtils;
|
2021-06-29 17:51:29 +02:00
|
|
|
#endif
|
2021-06-20 15:09:53 +02:00
|
|
|
const QStringList _validBaseDomains = {"digitalrock.de", "bluerock.dev"};
|
2021-06-20 19:04:36 +02:00
|
|
|
bool _pendingIntentsChecked;
|
2021-07-08 11:42:31 +02:00
|
|
|
|
2019-04-20 22:57:40 +02:00
|
|
|
signals:
|
2021-06-20 19:04:36 +02:00
|
|
|
Q_INVOKABLE void openedViaUrl(QString url, QString scheme);
|
2019-04-20 22:57:40 +02:00
|
|
|
|
|
|
|
public slots:
|
|
|
|
|
2021-06-21 16:03:42 +02:00
|
|
|
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();
|
|
|
|
|
2021-06-20 19:04:36 +02:00
|
|
|
#if defined(Q_OS_ANDROID)
|
|
|
|
void onApplicationStateChanged(Qt::ApplicationState applicationState);
|
|
|
|
#endif
|
2021-06-11 11:49:09 +02:00
|
|
|
|
2019-04-20 22:57:40 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // SERVERCONN_H
|