web_crawler_e.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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, // click to go to Run the GET request
  21. WebCrawlerSubmenuIndexAbout, // click to go to About screen
  22. WebCrawlerSubmenuIndexConfig, // click to go to Config submenu (Wifi, File)
  23. WebCrawlerSubmenuIndexRequest, // click to go to Request submenu (Set URL, HTTP Method, Headers)
  24. WebCrawlerSubmenuIndexWifi, // click to go to Wifi submenu (SSID, Password)
  25. WebCrawlerSubmenuIndexFile, // click to go to file submenu (Read, File Type, Rename, Delete)
  26. } WebCrawlerSubmenuIndex;
  27. typedef enum
  28. {
  29. WebCrawlerViewRun, // Run the GET request
  30. WebCrawlerViewAbout, // About screen
  31. WebCrawlerViewSubmenuConfig, // Submenu Config view for App (Wifi, File)
  32. WebCrawlerViewVariableItemListRequest, // Submenu for URL (Set URL, HTTP Method, Headers)
  33. WebCrawlerViewVariableItemListWifi, // Wifi Configuration screen (Submenu for SSID, Password)
  34. WebCrawlerViewVariableItemListFile, // Submenu for File (Read, File Type, Rename, Delete)
  35. WebCrawlerViewMain, // Main view for App
  36. WebCrawlerViewSubmenuMain, // Submenu Main view for App (Run, About, Config)
  37. WebCrawlerViewTextInput, // Text input for Path
  38. WebCrawlerViewTextInputSSID, // Text input for SSID
  39. WebCrawlerViewTextInputPassword, // Text input for Password
  40. WebCrawlerViewFileRead, // Text input for File Read
  41. WebCrawlerViewTextInputFileType, // Text input for File Type
  42. WebCrawlerViewTextInputFileRename, // Text input for File Rename
  43. WebCrawlerViewFileDelete, // File Delete
  44. } WebCrawlerViewIndex;
  45. // Define the application structure
  46. typedef struct
  47. {
  48. ViewDispatcher *view_dispatcher;
  49. View *view_main;
  50. View *view_run;
  51. Submenu *submenu_main;
  52. Submenu *submenu_config;
  53. Widget *widget_about;
  54. TextInput *text_input_path;
  55. TextInput *text_input_ssid;
  56. TextInput *text_input_password;
  57. TextInput *text_input_file_type;
  58. TextInput *text_input_file_rename;
  59. Widget *widget_file_read;
  60. Widget *widget_file_delete;
  61. VariableItemList *variable_item_list_wifi;
  62. VariableItemList *variable_item_list_file;
  63. VariableItemList *variable_item_list_request;
  64. VariableItem *path_item;
  65. VariableItem *ssid_item;
  66. VariableItem *password_item;
  67. VariableItem *file_type_item;
  68. VariableItem *file_rename_item;
  69. VariableItem *file_read_item;
  70. VariableItem *file_delete_item;
  71. char *path;
  72. char *ssid;
  73. char *password;
  74. char *file_type;
  75. char *file_rename;
  76. char *temp_buffer_path;
  77. uint32_t temp_buffer_size_path;
  78. char *temp_buffer_ssid;
  79. uint32_t temp_buffer_size_ssid;
  80. char *temp_buffer_password;
  81. uint32_t temp_buffer_size_password;
  82. char *temp_buffer_file_type;
  83. uint32_t temp_buffer_size_file_type;
  84. char *temp_buffer_file_rename;
  85. uint32_t temp_buffer_size_file_rename;
  86. } WebCrawlerApp;
  87. #endif // WEB_CRAWLER_E