aboutsummaryrefslogtreecommitdiff
path: root/src/QR-Code-scanner/QrCodeScanner.h
diff options
context:
space:
mode:
authorMoroccanMalinois <MoroccanMalinois@protonmail.com>2017-01-31 04:36:08 +0000
committerMoroccanMalinois <MoroccanMalinois@protonmail.com>2017-01-31 04:36:08 +0000
commit93d2eb5e1a064eb0eb1ad376cca71f2a3519e5ec (patch)
tree207a25c7308dcc70aea12499f5944a98ccbdefbd /src/QR-Code-scanner/QrCodeScanner.h
parent43d5bd3e2db54d0475a3a59e5a8859382aca732c (diff)
downloadmonzero-gui-93d2eb5e1a064eb0eb1ad376cca71f2a3519e5ec.tar.gz
monzero-gui-93d2eb5e1a064eb0eb1ad376cca71f2a3519e5ec.tar.xz
monzero-gui-93d2eb5e1a064eb0eb1ad376cca71f2a3519e5ec.zip
add qrcode scanner
Diffstat (limited to 'src/QR-Code-scanner/QrCodeScanner.h')
-rw-r--r--src/QR-Code-scanner/QrCodeScanner.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/src/QR-Code-scanner/QrCodeScanner.h b/src/QR-Code-scanner/QrCodeScanner.h
new file mode 100644
index 00000000..791800f0
--- /dev/null
+++ b/src/QR-Code-scanner/QrCodeScanner.h
@@ -0,0 +1,79 @@
+// Copyright (c) 2014-2017, The Monero Project
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without modification, are
+// permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice, this list of
+// conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright notice, this list
+// of conditions and the following disclaimer in the documentation and/or other
+// materials provided with the distribution.
+//
+// 3. Neither the name of the copyright holder nor the names of its contributors may be
+// used to endorse or promote products derived from this software without specific
+// prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
+// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#ifndef QRCODESCANNER_H_
+#define QRCODESCANNER_H_
+
+#include <QImage>
+#include <QVideoFrame>
+#ifdef WITH_SCANNER
+#include "QrScanThread.h"
+#endif
+
+class QVideoProbe;
+class QCamera;
+
+class QrCodeScanner : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged)
+
+public:
+ QrCodeScanner(QObject *parent = Q_NULLPTR);
+
+ void setSource(QCamera*);
+
+ bool enabled() const;
+ void setEnabled(bool enabled);
+
+public Q_SLOTS:
+ void processCode(int type, const QString &data);
+ void processFrame(QVideoFrame);
+
+Q_SIGNALS:
+ void enabledChanged();
+
+ void decoded(const QString &address, const QString &payment_id, const QString &amount, const QString &tx_description, const QString &recipient_name);
+ void decode(int type, const QString &data);
+ void notifyError(const QString &error, bool warning = false);
+
+protected:
+#ifdef WITH_SCANNER
+ void timerEvent(QTimerEvent *);
+ QrScanThread *m_thread;
+#endif
+ int m_processTimerId;
+ int m_processInterval;
+ int m_enabled;
+ QVideoFrame m_curFrame;
+ QVideoProbe *m_probe;
+};
+
+#endif
+