flip_store_callback.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #ifndef FLIP_STORE_CALLBACK_H
  2. #define FLIP_STORE_CALLBACK_H
  3. #include <flip_store.h>
  4. #include <stdio.h>
  5. #include <string.h>
  6. #include <stdlib.h>
  7. #include <ctype.h>
  8. #include <stdbool.h>
  9. #include <apps/flip_store_apps.h>
  10. #include <firmwares/flip_store_firmwares.h>
  11. #include <flip_storage/flip_store_storage.h>
  12. #define MAX_LINE_LENGTH 30
  13. extern bool flip_store_app_does_exist;
  14. extern uint32_t selected_firmware_index;
  15. // Function to draw the description on the canvas with word wrapping
  16. void draw_description(Canvas *canvas, const char *user_message, int x, int y);
  17. void flip_store_view_draw_callback_app_list(Canvas *canvas, void *model);
  18. bool flip_store_input_callback(InputEvent *event, void *context);
  19. void flip_store_text_updated_ssid(void *context);
  20. void flip_store_text_updated_pass(void *context);
  21. uint32_t callback_to_submenu(void *context);
  22. uint32_t callback_to_submenu_options(void *context);
  23. uint32_t callback_to_firmware_list(void *context);
  24. uint32_t callback_to_app_list(void *context);
  25. void settings_item_selected(void *context, uint32_t index);
  26. void dialog_delete_callback(DialogExResult result, void *context);
  27. void dialog_firmware_callback(DialogExResult result, void *context);
  28. void popup_callback(void *context);
  29. uint32_t callback_exit_app(void *context);
  30. void callback_submenu_choices(void *context, uint32_t index);
  31. // Add edits by Derek Jamison
  32. typedef enum DataState DataState;
  33. enum DataState
  34. {
  35. DataStateInitial,
  36. DataStateRequested,
  37. DataStateReceived,
  38. DataStateParsed,
  39. DataStateParseError,
  40. DataStateError,
  41. };
  42. typedef enum FlipStoreCustomEvent FlipStoreCustomEvent;
  43. enum FlipStoreCustomEvent
  44. {
  45. FlipStoreCustomEventProcess,
  46. };
  47. typedef struct DataLoaderModel DataLoaderModel;
  48. typedef bool (*DataLoaderFetch)(DataLoaderModel *model);
  49. typedef char *(*DataLoaderParser)(DataLoaderModel *model);
  50. struct DataLoaderModel
  51. {
  52. char *title;
  53. char *data_text;
  54. DataState data_state;
  55. DataLoaderFetch fetcher;
  56. DataLoaderParser parser;
  57. void *parser_context;
  58. size_t request_index;
  59. size_t request_count;
  60. ViewNavigationCallback back_callback;
  61. FuriTimer *timer;
  62. };
  63. void flip_store_generic_switch_to_view(FlipStoreApp *app, char *title, DataLoaderFetch fetcher, DataLoaderParser parser, size_t request_count, ViewNavigationCallback back, uint32_t view_id);
  64. void flip_store_loader_draw_callback(Canvas *canvas, void *model);
  65. void flip_store_loader_init(View *view);
  66. void flip_store_loader_free_model(View *view);
  67. bool flip_store_custom_event_callback(void *context, uint32_t index);
  68. #endif // FLIP_STORE_CALLBACK_H