Uploaded image for project: 'Qt Mobility'
  1. Qt Mobility
  2. QTMOBILITY-1747

Target access detection does not find QNearFieldTarget::TagTypeSpecificAccess

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Out of scope
    • Icon: Not Evaluated 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.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            jukukkon Juha Kukkonen
            tomprice Tom Price
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes