pof_token.h 901 B

123456789101112131415161718192021222324252627282930313233343536
  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. } PoFToken;
  21. PoFToken* pof_token_alloc();
  22. void pof_token_free(PoFToken* pof_token);
  23. void pof_token_set_name(PoFToken* pof_token, const char* name);
  24. bool pof_file_select(PoFToken* pof_token);
  25. void pof_token_clear(PoFToken* pof_token, bool save);
  26. void pof_token_set_loading_callback(PoFToken* dev, PoFLoadingCallback callback, void* context);