nfc_magic_worker.h 929 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #pragma once
  2. #include <lib/nfc/nfc_device.h>
  3. typedef struct NfcMagicWorker NfcMagicWorker;
  4. typedef enum {
  5. NfcMagicWorkerStateReady,
  6. NfcMagicWorkerStateCheck,
  7. NfcMagicWorkerStateWrite,
  8. NfcMagicWorkerStateWipe,
  9. NfcMagicWorkerStateStop,
  10. } NfcMagicWorkerState;
  11. typedef enum {
  12. NfcMagicWorkerEventSuccess,
  13. NfcMagicWorkerEventFail,
  14. NfcMagicWorkerEventCardDetected,
  15. NfcMagicWorkerEventNoCardDetected,
  16. NfcMagicWorkerEventWrongCard,
  17. } NfcMagicWorkerEvent;
  18. typedef bool (*NfcMagicWorkerCallback)(NfcMagicWorkerEvent event, void* context);
  19. NfcMagicWorker* nfc_magic_worker_alloc();
  20. void nfc_magic_worker_free(NfcMagicWorker* nfc_magic_worker);
  21. void nfc_magic_worker_stop(NfcMagicWorker* nfc_magic_worker);
  22. void nfc_magic_worker_start(
  23. NfcMagicWorker* nfc_magic_worker,
  24. NfcMagicWorkerState state,
  25. NfcDeviceData* dev_data,
  26. NfcMagicWorkerCallback callback,
  27. void* context);