-
Bug
-
Resolution: Out of scope
-
Not Evaluated
-
None
-
1.2.0
-
None
-
Nokia C7, Qt Mobility 1.2 Beta
There seems to be a problem using the Tag Specific commands to read/write to detected tags using Qt Mobility 1.2. Using the Symbian/Qt hybrid NFCTags example demo I am able to send tag specific commands. However, using the mobility APIs I get a -5 KErrNotSupported error when I try and read the memory size (QNearFieldTagType2::memorySize()).
Looking at the Qt Mobility code (nfc/symbian/nearfieldtargetfactory_symbian.cpp @ TNearFieldTargetFactory::ConnectionMode2AccessMethods(MNfcTag * aNfcTag)) it seems as though it has the connection mode TNfcConnectionInfo::ENfcUnknownConnectionMode therefore not allowing tag specific commands. This is particularly strange as the tag which is passed in is also used to create a tag, and it definitely has the Type2 connection mode.
Here is an output of my logs:
TRK LOG: [Qt Message] QtMobility::QNearFieldTarget *TNearFieldTargetFactory::CreateTargetL(MNfcTag *, RNfcServer &, QObject *) Line: 107 tag type 2 created //<-- Tag has type 2 connection mode
TRK LOG: [Qt Message] QtMobility::QNearFieldTarget *TNearFieldTargetFactory::CreateTagTypeL(MNfcTag *, RNfcServer &, QObject *) [with CTAGCONNECTION = CNfcType2Connection, QTAGTYPE = QtMobility::QNearFieldTagType2Symbian] Line: 72 Begin
TRK LOG: [Qt Message] CNearFieldNdefTarget *TNearFieldTargetFactory::WrapNdefAccessL(MNfcTag *, RNfcServer &, CNearFieldTag *) Line: 131 Begin
TRK LOG: [Qt Message] CNearFieldNdefTarget *TNearFieldTargetFactory::WrapNdefAccessL(MNfcTag *, RNfcServer &, CNearFieldTag *) Line: 134 Wrap NDEF Access to the tag
TRK LOG: [Qt Message] CNearFieldNdefTarget *TNearFieldTargetFactory::WrapNdefAccessL(MNfcTag *, RNfcServer &, CNearFieldTag *) Line: 139 End
TRK LOG: [Qt Message] QFlags<QtMobility::QNearFieldTarget::AccessMethod> TNearFieldTargetFactory::ConnectionMode2AccessMethods(MNfcTag *) Line: 145 Begin
TRK LOG: [Qt Message] QFlags<QtMobility::QNearFieldTarget::AccessMethod> TNearFieldTargetFactory::ConnectionMode2AccessMethods(MNfcTag *) Line: 157 End //<-- It should report "the tag has tag specified access"!!!!
In TNearFieldTargetFactory::ConnectionMode2AccessMethods(MNfcTag * aNfcTag)) I feel it should be looking for each tag type instead of using !aNfcTag->HasConnectionMode(TNfcConnectionInfo::ENfcUnknownConnectionMode) to check for tag access.