diff options
Diffstat (limited to 'src/nfc/symbian/nearfieldmanager_symbian.h')
-rw-r--r-- | src/nfc/symbian/nearfieldmanager_symbian.h | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/src/nfc/symbian/nearfieldmanager_symbian.h b/src/nfc/symbian/nearfieldmanager_symbian.h new file mode 100644 index 00000000..82e05436 --- /dev/null +++ b/src/nfc/symbian/nearfieldmanager_symbian.h @@ -0,0 +1,115 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the Qt Mobility Components. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QNEARFIELDMANAGER_SYMBIAN_H_ +#define QNEARFIELDMANAGER_SYMBIAN_H_ + +#include <nfcserver.h> +#include <nfctag.h> +#include <nfctagsubscription.h> +#include <nfcconnection.h> +#include <nfctype2connection.h> + +#include <nfctagdiscovery.h> +#include <nfctagconnectionlistener.h> +#include <nfcconnectioninfo.h> +#include <llcpprovider.h> // CLlcpProvider +#include <llcplinklistener.h> // MLlcpLinkListener + +#include <ndefmessagelistener.h> +#include <ndefdiscovery.h> + +#include "../qndefrecord.h" +#include <QList> +#include "../qnearfieldtarget.h" + +class QNearFieldManagerPrivateImpl; + +class CNearFieldManager : public CBase, + public MNfcTagConnectionListener, + public MLlcpLinkListener, + public MNdefMessageListener + { +public: + + static CNearFieldManager* NewL( QNearFieldManagerPrivateImpl& aCallback); + virtual ~CNearFieldManager(); + + void StartTargetDetectionL(const QList<QNearFieldTarget::Type> &aTargetTypes); + void stopTargetDetection(); + //for registerNdefMessageHandler ... api + TInt AddNdefSubscription( const QNdefRecord::TypeNameFormat aTnf, + const QByteArray& aType ); + void RemoveNdefSubscription( const QNdefRecord::TypeNameFormat aTnf, + const QByteArray& aType ); + +public: // From MNfcTagConnectionListener + + void TagDetected( MNfcTag* aNfcTag ); + void TagLost(); + +public: // From MLlcpLinkListener + + void LlcpRemoteFound(); + void LlcpRemoteLost(); + +public: // From MNdefMessageListener + + void MessageDetected( CNdefMessage* aMessage ); + +private: + + CNearFieldManager( QNearFieldManagerPrivateImpl& aCallback); + void ConstructL(); + CNdefRecord::TNdefRecordTnf QTnf2CTnf(const QNdefRecord::TypeNameFormat aQTnf); + //own + RNfcServer iServer; + //for Tag discovery + CNfcTagDiscovery* iNfcTagDiscovery; + CNfcTagSubscription* iTagSubscription; + //for LLCP discovery + CLlcpProvider* iLlcpProvider; + //for NDEF discovery + CNdefDiscovery* iNdefDiscovery; + //not own + QNearFieldManagerPrivateImpl& iCallback; + }; +#endif /* QNEARFIELDMANAGER_SYMBIAN_H_ */ |