web_crawler_e.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. // web_crawler_e.h
  2. #ifndef WEB_CRAWLER_E
  3. #define WEB_CRAWLER_E
  4. #include <furi.h>
  5. #include <furi_hal.h>
  6. #include <gui/gui.h>
  7. #include <gui/view.h>
  8. #include <gui/view_dispatcher.h>
  9. #include <gui/modules/submenu.h>
  10. #include <gui/modules/widget.h>
  11. #include <gui/modules/text_box.h>
  12. #include <gui/modules/text_input.h>
  13. #include <gui/modules/variable_item_list.h>
  14. #include <dialogs/dialogs.h>
  15. #include <storage/storage.h>
  16. #define TAG "WebCrawler"
  17. // Define the submenu items for our WebCrawler application
  18. typedef enum
  19. {
  20. WebCrawlerSubmenuIndexRun,
  21. WebCrawlerSubmenuIndexAbout,
  22. WebCrawlerSubmenuIndexSetPath,
  23. WebCrawlerSubmenuIndexData,
  24. } WebCrawlerSubmenuIndex;
  25. // Define views for our WebCrawler application
  26. typedef enum
  27. {
  28. WebCrawlerViewSubmenu, // Submenu
  29. WebCrawlerViewAbout, // About screen
  30. WebCrawlerViewConfigure, // Configuration screen
  31. WebCrawlerViewTextInput, // Text input for Path
  32. WebCrawlerViewTextInputSSID, // Text input for SSID
  33. WebCrawlerViewTextInputPassword, // Text input for Password
  34. WebCrawlerViewRun, // Main run view
  35. WebCrawlerViewData, // Data view
  36. } WebCrawlerView;
  37. // Define the application structure
  38. typedef struct
  39. {
  40. ViewDispatcher *view_dispatcher;
  41. View *view_main;
  42. Submenu *submenu;
  43. Widget *widget_about;
  44. TextInput *text_input_path;
  45. TextInput *text_input_ssid;
  46. TextInput *text_input_password;
  47. Widget *textbox;
  48. VariableItemList *variable_item_list_config;
  49. char *path;
  50. char *ssid;
  51. char *password;
  52. VariableItem *path_item;
  53. VariableItem *ssid_item;
  54. VariableItem *password_item;
  55. char *temp_buffer_path;
  56. uint32_t temp_buffer_size_path;
  57. char *temp_buffer_ssid;
  58. uint32_t temp_buffer_size_ssid;
  59. char *temp_buffer_password;
  60. uint32_t temp_buffer_size_password;
  61. } WebCrawlerApp;
  62. // forware declaration of storage functions
  63. static void save_settings(const char *path, const char *ssid, const char *password);
  64. static bool load_settings(char *path, size_t path_size, char *ssid, size_t ssid_size, char *password, size_t password_size, WebCrawlerApp *app);
  65. static bool load_received_data();
  66. #endif // WEB_CRAWLER_E