web_crawler.c 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include <web_crawler.h>
  2. #include <callback/web_crawler_callback.h>
  3. /**
  4. * @brief Function to free the resources used by WebCrawlerApp.
  5. * @param app The WebCrawlerApp object to free.
  6. */
  7. void web_crawler_app_free(WebCrawlerApp *app)
  8. {
  9. furi_check(app, "web_crawler_app_free: App is NULL");
  10. // Free View(s)
  11. if (app->view_loader)
  12. {
  13. view_dispatcher_remove_view(app->view_dispatcher, WebCrawlerViewLoader);
  14. web_crawler_loader_free_model(app->view_loader);
  15. view_free(app->view_loader);
  16. }
  17. // Remove and free Submenu
  18. if (app->submenu_main)
  19. {
  20. view_dispatcher_remove_view(app->view_dispatcher, WebCrawlerViewSubmenuMain);
  21. submenu_free(app->submenu_main);
  22. }
  23. // Remove and free Widgets
  24. if (app->widget_result)
  25. {
  26. view_dispatcher_remove_view(app->view_dispatcher, WebCrawlerViewWidgetResult);
  27. widget_free(app->widget_result);
  28. }
  29. // check and free http method
  30. if (app->temp_buffer_http_method)
  31. {
  32. free(app->temp_buffer_http_method);
  33. app->temp_buffer_http_method = NULL;
  34. }
  35. if (app->http_method)
  36. {
  37. free(app->http_method);
  38. app->http_method = NULL;
  39. }
  40. free_all(app);
  41. furi_record_close(RECORD_STORAGE);
  42. view_dispatcher_free(app->view_dispatcher);
  43. free(app);
  44. }
  45. char *http_method_names[] = {"GET", "POST", "PUT", "DELETE", "DOWNLOAD", "BROWSE"};