 560ea5f995
			
		
	
	
		560ea5f995
		
			
		
	
	
	
	
		
			
			* nfc: add scroll element for info * widget: format lines for scroll text element * widget: fix new line generation * widget: finish element text scroll * nfc: rework ultralight and NTAG info scenes * nfc: rework mf classic info screens * nfc: rework nfca info scenes * nfc: fix mf ultralight navigation * widget: add documentation * nfc: rework bank card infO * nfc: rework device info scene * nfc: fix incorrect atqa order * mf ultralight: remove unused function * widget: add mutex for model protection * widget: fix memory leak * nfc: rework delete scene * nfc: fix selected item in saved menu scene * widget: fix naming in text scroll element * nfc: fix navigation from delete success * nfc: add dictionary icon * widget: fix memory leak
		
			
				
	
	
		
			28 lines
		
	
	
		
			703 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			703 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "nfc_supported_card.h"
 | |
| 
 | |
| #include "troyka_parser.h"
 | |
| 
 | |
| NfcSupportedCard nfc_supported_card[NfcSupportedCardTypeEnd] = {
 | |
|     [NfcSupportedCardTypeTroyka] =
 | |
|         {
 | |
|             .protocol = NfcDeviceProtocolMifareClassic,
 | |
|             .verify = troyka_parser_verify,
 | |
|             .read = troyka_parser_read,
 | |
|             .parse = troyka_parser_parse,
 | |
|         },
 | |
| };
 | |
| 
 | |
| bool nfc_supported_card_verify_and_parse(NfcDeviceData* dev_data) {
 | |
|     furi_assert(dev_data);
 | |
| 
 | |
|     bool card_parsed = false;
 | |
|     for(size_t i = 0; i < COUNT_OF(nfc_supported_card); i++) {
 | |
|         if(nfc_supported_card[i].parse(dev_data)) {
 | |
|             card_parsed = true;
 | |
|             break;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     return card_parsed;
 | |
| }
 |