-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathweb_crawler.h
More file actions
115 lines (98 loc) · 3.99 KB
/
web_crawler.h
File metadata and controls
115 lines (98 loc) · 3.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// web_crawler_e.h
#ifndef WEB_CRAWLER_E
#define WEB_CRAWLER_E
#include <easy_flipper/easy_flipper.h>
#include <flipper_http/flipper_http.h>
#include <text_input/uart_text_input.h>
#include "web_crawler_icons.h"
#define TAG "Web Crawler"
#define VERSION_TAG TAG " v1.0.1"
extern char *http_method_names[];
// Define the submenu items for our WebCrawler application
typedef enum
{
WebCrawlerSubmenuIndexRun, // click to go to Run the GET request
WebCrawlerSubmenuIndexAbout, // click to go to About screen
WebCrawlerSubmenuIndexConfig, // click to go to Config submenu (Wifi, File)
WebCrawlerSubmenuIndexRequest, // click to go to Request submenu (Set URL, HTTP Method, Headers)
WebCrawlerSubmenuIndexWifi, // click to go to Wifi submenu (SSID, Password)
WebCrawlerSubmenuIndexFile, // click to go to file submenu (Read, File Type, Rename, Delete)
} WebCrawlerSubmenuIndex;
typedef enum
{
WebCrawlerViewAbout, // About screen
WebCrawlerViewSubmenuConfig, // Submenu Config view for App (Wifi, File)
WebCrawlerViewVariableItemListRequest, // Submenu for URL (Set URL, HTTP Method, Headers)
WebCrawlerViewVariableItemListWifi, // Wifi Configuration screen (Submenu for SSID, Password)
WebCrawlerViewVariableItemListFile, // Submenu for File (Read, File Type, Rename, Delete)
WebCrawlerViewSubmenuMain, // Submenu Main view for App (Run, About, Config)
WebCrawlerViewTextInput, // Text input for Path
WebCrawlerViewTextInputSSID, // Text input for SSID
WebCrawlerViewTextInputPassword, // Text input for Password
WebCrawlerViewFileRead, // File Read
WebCrawlerViewTextInputFileType, // Text input for File Type
WebCrawlerViewTextInputFileRename, // Text input for File Rename
WebCrawlerViewTextInputHeaders, // Text input for Headers
WebCrawlerViewTextInputPayload, // Text input for Payload
WebCrawlerViewFileDelete, // File Delete
//
WebCrawlerViewWidgetResult, // The text box that displays the random fact
WebCrawlerViewLoader, // The loader screen retrieves data from the internet
//
WebCrawlerViewWidget, // Generic widget view
WebCrawlerViewVariableItemList, // Generic variable item list view
WebCrawlerViewInput, // Generic text input view
} WebCrawlerViewIndex;
// Define the application structure
typedef struct
{
ViewDispatcher *view_dispatcher;
View *view_loader;
Widget *widget_result; // The widget that displays the result
Submenu *submenu_main;
Submenu *submenu_config;
Widget *widget;
VariableItemList *variable_item_list;
UART_TextInput *uart_text_input;
VariableItem *path_item;
VariableItem *ssid_item;
VariableItem *password_item;
VariableItem *file_type_item;
VariableItem *file_rename_item;
VariableItem *file_read_item;
VariableItem *file_delete_item;
//
VariableItem *http_method_item;
VariableItem *headers_item;
VariableItem *payload_item;
char *path;
char *ssid;
char *password;
char *file_type;
char *file_rename;
char *http_method;
char *headers;
char *payload;
char *temp_buffer_path;
uint32_t temp_buffer_size_path;
char *temp_buffer_ssid;
uint32_t temp_buffer_size_ssid;
char *temp_buffer_password;
uint32_t temp_buffer_size_password;
char *temp_buffer_file_type;
uint32_t temp_buffer_size_file_type;
char *temp_buffer_file_rename;
uint32_t temp_buffer_size_file_rename;
char *temp_buffer_http_method;
uint32_t temp_buffer_size_http_method;
char *temp_buffer_headers;
uint32_t temp_buffer_size_headers;
char *temp_buffer_payload;
uint32_t temp_buffer_size_payload;
} WebCrawlerApp;
/**
* @brief Function to free the resources used by WebCrawlerApp.
* @param app The WebCrawlerApp object to free.
*/
void web_crawler_app_free(WebCrawlerApp *app);
#endif // WEB_CRAWLER_E