summaryrefslogtreecommitdiffstats
path: root/src/nfc/qnx/qnxnfcmanager.cpp
diff options
context:
space:
mode:
authorFabian Bumberger <fbumberger@rim.com>2012-11-21 15:02:32 +0100
committerAaron McCarthy <mccarthy.aaron@gmail.com>2012-11-26 23:59:47 +0100
commit159b646d7c2ab63d848e7f82abdefa5f4b777bb8 (patch)
tree19c0e2e8b827f71b50483d6a08b4b59cf0d35595 /src/nfc/qnx/qnxnfcmanager.cpp
parentb1f8142ffafe3cfc414489ec774f4db30a618c03 (diff)
Adding QNearFieldManager backend for QNX
Change-Id: If786de1373ac55e4448d8a893e65b1dcdb4f5815 Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
Diffstat (limited to 'src/nfc/qnx/qnxnfcmanager.cpp')
-rw-r--r--src/nfc/qnx/qnxnfcmanager.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/nfc/qnx/qnxnfcmanager.cpp b/src/nfc/qnx/qnxnfcmanager.cpp
index f5397782..92862547 100644
--- a/src/nfc/qnx/qnxnfcmanager.cpp
+++ b/src/nfc/qnx/qnxnfcmanager.cpp
@@ -73,6 +73,12 @@ void QNXNFCManager::unregisterForInstance()
}
}
+void QNXNFCManager::unregisterTargetDetection(QObject *obj)
+{
+ //TODO another instance of the nearfieldmanager might still want to detect targets
+ nfc_unregister_tag_readerwriter();
+}
+
nfc_target_t *QNXNFCManager::getLastTarget()
{
return m_lastTarget;
@@ -232,12 +238,11 @@ void QNXNFCManager::nfcReadWriteEvent(nfc_event_t *nfcEvent)
QList<QNdefMessage> targetMessages = decodeTargetMessage(target);
NearFieldTarget<QNearFieldTarget> *bbNFTarget = new NearFieldTarget<QNearFieldTarget>(this, target, targetMessages);
emit targetDetected(bbNFTarget, targetMessages);
-// for (int i=0; i< targetMessages.count(); i++) {
-// for (int j=0; j<ndefMessageHandlers.count(); j++) {
-// //ndefMessageHandlers.at(j).second.invoke(ndefMessageHandlers.at(j).first,
-// // Q_ARG(const QNdefMessage&, targetMessages.at(i)), Q_ARG(NearFieldTarget*, bbNFTarget));
-// }
-// }
+ for (int i=0; i< targetMessages.count(); i++) {
+ for (int j=0; j<ndefMessageHandlers.count(); j++) {
+ emit ndefMessage(targetMessages.at(i), reinterpret_cast<QNearFieldTarget *> (bbNFTarget));
+ }
+ }
}
//void QNXNFCManager::startBTHandover()
@@ -245,8 +250,9 @@ void QNXNFCManager::nfcReadWriteEvent(nfc_event_t *nfcEvent)
//}
-bool QNXNFCManager::startTargetDetection()
+bool QNXNFCManager::startTargetDetection(const QList<QNearFieldTarget::Type> &targetTypes)
{
+ //TODO handle the target types
if (nfc_register_tag_readerwriter(TAG_TYPE_ALL) == NFC_RESULT_SUCCESS) {
return true;
} else {