diff options
Diffstat (limited to 'src/nfc')
-rw-r--r-- | src/nfc/android/androidjninfc.cpp | 5 | ||||
-rw-r--r-- | src/nfc/android/androidjninfc_p.h | 1 | ||||
-rw-r--r-- | src/nfc/qnearfieldmanager.cpp | 18 | ||||
-rw-r--r-- | src/nfc/qnearfieldmanager.h | 1 | ||||
-rw-r--r-- | src/nfc/qnearfieldmanager_android.cpp | 5 | ||||
-rw-r--r-- | src/nfc/qnearfieldmanager_android_p.h | 1 | ||||
-rw-r--r-- | src/nfc/qnearfieldmanager_neard.cpp | 15 | ||||
-rw-r--r-- | src/nfc/qnearfieldmanager_neard_p.h | 2 | ||||
-rw-r--r-- | src/nfc/qnearfieldmanager_p.h | 5 |
9 files changed, 52 insertions, 1 deletions
diff --git a/src/nfc/android/androidjninfc.cpp b/src/nfc/android/androidjninfc.cpp index f21d3b08..9a1c5227 100644 --- a/src/nfc/android/androidjninfc.cpp +++ b/src/nfc/android/androidjninfc.cpp @@ -63,6 +63,11 @@ bool isAvailable() return QAndroidJniObject::callStaticMethod<jboolean>(nfcClassName,"isAvailable"); } +bool isSupported() +{ + return QAndroidJniObject::callStaticMethod<jboolean>(nfcClassName,"isSupported"); +} + bool stopDiscovery() { return QAndroidJniObject::callStaticMethod<jboolean>(nfcClassName,"stop"); diff --git a/src/nfc/android/androidjninfc_p.h b/src/nfc/android/androidjninfc_p.h index 746a93ee..60e9a107 100644 --- a/src/nfc/android/androidjninfc_p.h +++ b/src/nfc/android/androidjninfc_p.h @@ -71,6 +71,7 @@ bool startDiscovery(); bool stopDiscovery(); QAndroidJniObject getStartIntent(); bool isAvailable(); +bool isSupported(); bool registerListener(AndroidNfcListenerInterface *listener); bool unregisterListener(AndroidNfcListenerInterface *listener); QAndroidJniObject getTag(const QAndroidJniObject &intent); diff --git a/src/nfc/qnearfieldmanager.cpp b/src/nfc/qnearfieldmanager.cpp index 099a070c..8b46d420 100644 --- a/src/nfc/qnearfieldmanager.cpp +++ b/src/nfc/qnearfieldmanager.cpp @@ -201,7 +201,10 @@ QNearFieldManager::~QNearFieldManager() } /*! - Returns true if NFC functionality is available; otherwise returns false. + Returns \c true if the device has a NFC adapter and + it is turned on; otherwise returns \c false. + + \sa isSupported() */ bool QNearFieldManager::isAvailable() const { @@ -211,6 +214,19 @@ bool QNearFieldManager::isAvailable() const } /*! + \since 5.12 + + Returns \c true if the underlying device has a NFC adapter; otherwise returns \c false. + + \sa isAvailable() +*/ +bool QNearFieldManager::isSupported() const +{ + Q_D(const QNearFieldManager); + + return d->isSupported(); +} +/*! \fn bool QNearFieldManager::startTargetDetection() Starts detecting targets and returns true if target detection is diff --git a/src/nfc/qnearfieldmanager.h b/src/nfc/qnearfieldmanager.h index 9583e01f..1dcb3485 100644 --- a/src/nfc/qnearfieldmanager.h +++ b/src/nfc/qnearfieldmanager.h @@ -70,6 +70,7 @@ public: ~QNearFieldManager(); bool isAvailable() const; + bool isSupported() const; void setTargetAccessModes(TargetAccessModes accessModes); TargetAccessModes targetAccessModes() const; diff --git a/src/nfc/qnearfieldmanager_android.cpp b/src/nfc/qnearfieldmanager_android.cpp index a5693218..dd814787 100644 --- a/src/nfc/qnearfieldmanager_android.cpp +++ b/src/nfc/qnearfieldmanager_android.cpp @@ -176,6 +176,11 @@ bool QNearFieldManagerPrivateImpl::isAvailable() const return AndroidNfc::isAvailable(); } +bool QNearFieldManagerPrivateImpl::isSupported() const +{ + return AndroidNfc::isSupported(); +} + bool QNearFieldManagerPrivateImpl::startTargetDetection() { if (m_detecting) diff --git a/src/nfc/qnearfieldmanager_android_p.h b/src/nfc/qnearfieldmanager_android_p.h index 69c99709..563d26bc 100644 --- a/src/nfc/qnearfieldmanager_android_p.h +++ b/src/nfc/qnearfieldmanager_android_p.h @@ -76,6 +76,7 @@ public: ~QNearFieldManagerPrivateImpl(); virtual bool isAvailable() const; + bool isSupported() const override; virtual bool startTargetDetection(); virtual void stopTargetDetection(); virtual int registerNdefMessageHandler(QObject *object, const QMetaMethod &method); diff --git a/src/nfc/qnearfieldmanager_neard.cpp b/src/nfc/qnearfieldmanager_neard.cpp index f1758ae9..450b9b42 100644 --- a/src/nfc/qnearfieldmanager_neard.cpp +++ b/src/nfc/qnearfieldmanager_neard.cpp @@ -114,6 +114,21 @@ bool QNearFieldManagerPrivateImpl::isAvailable() const return false; } +bool QNearFieldManagerPrivateImpl::isSupported() const +{ + if (m_adapterPath.isEmpty()) { + qCWarning(QT_NFC_NEARD) << "no adapter found, neard daemon running?"; + return false; + } + + if (!m_neardHelper->dbusObjectManager()->isValid() || m_adapterPath.isNull()) { + qCWarning(QT_NFC_NEARD) << "dbus object manager invalid or adapter path invalid"; + return false; + } + + return true; +} + bool QNearFieldManagerPrivateImpl::startTargetDetection() { qCDebug(QT_NFC_NEARD) << "starting target detection"; diff --git a/src/nfc/qnearfieldmanager_neard_p.h b/src/nfc/qnearfieldmanager_neard_p.h index b50f947a..cf026982 100644 --- a/src/nfc/qnearfieldmanager_neard_p.h +++ b/src/nfc/qnearfieldmanager_neard_p.h @@ -75,6 +75,8 @@ public: bool isAvailable() const; + bool isSupported() const override; + bool startTargetDetection(); void stopTargetDetection(); diff --git a/src/nfc/qnearfieldmanager_p.h b/src/nfc/qnearfieldmanager_p.h index 7e461da8..8e86ce4b 100644 --- a/src/nfc/qnearfieldmanager_p.h +++ b/src/nfc/qnearfieldmanager_p.h @@ -82,6 +82,11 @@ public: return false; } + virtual bool isSupported() const + { + return false; + } + virtual bool startTargetDetection() { return false; |