Skip to content
Snippets Groups Projects
QtNFC.h 1.14 KiB
Newer Older
  • Learn to ignore specific revisions
  • Gus Grubba's avatar
    Gus Grubba committed
    /****************************************************************************
     *
     *   (c) 2019 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
     *
     * QGroundControl is licensed according to the terms in the file
     * COPYING.md in the root of the source code directory.
     *
     ****************************************************************************/
    
    #pragma once
    
    #include <QObject>
    #include <QNdefMessage>
    #include <QNearFieldManager>
    #include <QNearFieldTarget>
    
    #include "QGCLoggingCategory.h"
    
    Q_DECLARE_LOGGING_CATEGORY(PairingNFCLog)
    
    class PairingNFC : public QObject
    {
        Q_OBJECT
    
    public:
        PairingNFC();
    
        void start();
    
        void stop();
    
    signals:
        void parsePairingJson(QString json);
    
    public slots:
        void targetDetected(QNearFieldTarget *target);
        void targetLost(QNearFieldTarget *target);
        void handlePolledNdefMessage(QNdefMessage message);
        void targetError(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId& id);
        void handleRequestCompleted(const QNearFieldTarget::RequestId& id);
    
    private:
        bool _exitThread = false;    ///< true: signal thread to exit
        QNearFieldManager *manager = nullptr;
    };