internal static FreefareTag Build(IntPtr ptrTag, bool dispose, NfcDevice device, NfcTarget target) { TagType type = NativeMethods.freefare_get_tag_type(ptrTag); Console.WriteLine(" type={0}", type); FreefareTag tag; switch (type) { case TagType.NTAG_21x: tag = new NTAG21xTag(ptrTag, dispose, device, target); Console.WriteLine(" subtype={0}", ((NTAG21xTag)tag).SubType); break; case TagType.MIFARE_CLASSIC_1K: tag = new MifareClassic1kTag(ptrTag, dispose, device, target); break; case TagType.MIFARE_CLASSIC_4K: tag = new MifareClassic4kTag(ptrTag, dispose, device, target); break; //TODO other tag types default: tag = new GenericTag(ptrTag, dispose, device, target); break; } return(tag); }
internal NTAG21xConnection(NTAG21xTag tag) { this.m_tag = tag; }