Exemplo n.º 1
0
        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;
 }