wifi_marauder_script_worker.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #include "wifi_marauder_script.h"
  3. typedef enum {
  4. WifiMarauderScriptWorkerStatusSuccess = 0,
  5. WifiMarauderScriptWorkerStatusInvalidScript = 1,
  6. WifiMarauderScriptWorkerStatusForceExit = 2
  7. } WifiMarauderScriptWorkerStatus;
  8. typedef struct WifiMarauderScriptWorker {
  9. WifiMarauderScript *script;
  10. FuriThread *worker_thread;
  11. void (*callback_start)(void*);
  12. void (*callback_stage)(WifiMarauderScriptStage*, void*);
  13. void *context;
  14. bool is_running;
  15. } WifiMarauderScriptWorker;
  16. /**
  17. * @brief Allocates a new instance of WifiMarauderScriptWorker.
  18. *
  19. * @return A pointer to the allocated instance or NULL if allocation fails.
  20. */
  21. WifiMarauderScriptWorker* wifi_marauder_script_worker_alloc();
  22. /**
  23. * @brief Starts the execution of the worker and sets the callback function to be called after each stage is executed.
  24. *
  25. * @param instance A pointer to the instance of WifiMarauderScriptWorker to start.
  26. * @param script Script to be executed
  27. * @return True if the worker was successfully started, false otherwise.
  28. */
  29. bool wifi_marauder_script_worker_start(WifiMarauderScriptWorker* instance, WifiMarauderScript* script);
  30. /**
  31. * @brief Frees the memory used by the instance of WifiMarauderScriptWorker.
  32. *
  33. * @param script A pointer to the instance of WifiMarauderScriptWorker to free.
  34. */
  35. void wifi_marauder_script_worker_free(WifiMarauderScriptWorker* script);