pof_token.h 921 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include <stdint.h>
  3. #include <stdbool.h>
  4. #include <storage/storage.h>
  5. #include <dialogs/dialogs.h>
  6. #include <lib/nfc/nfc_device.h>
  7. #include <lib/nfc/protocols/mf_classic/mf_classic.h>
  8. #define POF_TOKEN_NAME_MAX_LEN 129
  9. typedef void (*PoFLoadingCallback)(void* context, bool state);
  10. typedef struct {
  11. Storage* storage;
  12. DialogsApp* dialogs;
  13. FuriString* load_path;
  14. PoFLoadingCallback loading_cb;
  15. void* loading_cb_ctx;
  16. char dev_name[POF_TOKEN_NAME_MAX_LEN];
  17. bool change;
  18. bool loaded;
  19. NfcDevice* nfc_device;
  20. uint8_t UID[4];
  21. } PoFToken;
  22. PoFToken* pof_token_alloc();
  23. void pof_token_free(PoFToken* pof_token);
  24. void pof_token_set_name(PoFToken* pof_token, const char* name);
  25. bool pof_file_select(PoFToken* pof_token);
  26. void pof_token_clear(PoFToken* pof_token, bool save);
  27. void pof_token_set_loading_callback(PoFToken* dev, PoFLoadingCallback callback, void* context);