nfc_supported_card.h 771 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include <furi_hal_nfc.h>
  3. #include "../nfc_worker.h"
  4. #include "../nfc_device.h"
  5. #include <m-string.h>
  6. typedef enum {
  7. NfcSupportedCardTypeTroyka,
  8. NfcSupportedCardTypeEnd,
  9. } NfcSupportedCardType;
  10. typedef bool (*NfcSupportedCardVerify)(NfcWorker* nfc_worker, FuriHalNfcTxRxContext* tx_rx);
  11. typedef bool (*NfcSupportedCardRead)(NfcWorker* nfc_worker, FuriHalNfcTxRxContext* tx_rx);
  12. typedef bool (*NfcSupportedCardParse)(NfcDeviceData* dev_data);
  13. typedef struct {
  14. NfcProtocol protocol;
  15. NfcSupportedCardVerify verify;
  16. NfcSupportedCardRead read;
  17. NfcSupportedCardParse parse;
  18. } NfcSupportedCard;
  19. extern NfcSupportedCard nfc_supported_card[NfcSupportedCardTypeEnd];
  20. bool nfc_supported_card_verify_and_parse(NfcDeviceData* dev_data);