totp_input_text.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef _TOTP_INPUT_TEXT_H_
  2. #define _TOTP_INPUT_TEXT_H_
  3. #include <gui/gui.h>
  4. #include <gui/view.h>
  5. #include <gui/modules/text_input.h>
  6. #include <furi.h>
  7. #include <furi_hal.h>
  8. #include "../../types/plugin_state.h"
  9. #include "../../types/plugin_event.h"
  10. typedef struct {
  11. char* user_input;
  12. uint8_t user_input_length;
  13. void* callback_data;
  14. } InputTextSceneCallbackResult;
  15. typedef void (*InputTextSceneCallback)(InputTextSceneCallbackResult* result);
  16. typedef struct {
  17. InputTextSceneCallback callback;
  18. char* header_text;
  19. void* callback_data;
  20. } InputTextSceneContext;
  21. #define INPUT_BUFFER_SIZE 255
  22. typedef struct {
  23. TextInput* text_input;
  24. View* text_input_view;
  25. char text_input_buffer[INPUT_BUFFER_SIZE];
  26. InputTextSceneCallback callback;
  27. void* callback_data;
  28. } InputTextSceneState;
  29. InputTextSceneState* totp_input_text_activate(InputTextSceneContext* context);
  30. void totp_input_text_render(Canvas* const canvas, InputTextSceneState* text_input_state);
  31. bool totp_input_text_handle_event(PluginEvent* const event, InputTextSceneState* text_input_state);
  32. void totp_input_text_free(InputTextSceneState* state);
  33. #endif