findmy_main.h 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include "../findmy.h"
  3. #include "../findmy_state.h"
  4. #include <gui/view.h>
  5. typedef enum {
  6. FindMyMainEventToggle,
  7. FindMyMainEventBackground,
  8. FindMyMainEventConfig,
  9. FindMyMainEventIntervalUp,
  10. FindMyMainEventIntervalDown,
  11. FindMyMainEventQuit,
  12. } FindMyMainEvent;
  13. typedef struct FindMyMain FindMyMain;
  14. typedef void (*FindMyMainCallback)(FindMyMainEvent event, void* context);
  15. // Main functionality
  16. FindMyMain* findmy_main_alloc(FindMy* app);
  17. void findmy_main_free(FindMyMain* findmy_main);
  18. View* findmy_main_get_view(FindMyMain* findmy_main);
  19. // To communicate with scene
  20. void findmy_main_set_callback(FindMyMain* findmy_main, FindMyMainCallback callback, void* context);
  21. // To redraw when info changes
  22. void findmy_main_update_active(FindMyMain* findmy_main, bool active);
  23. void findmy_main_update_interval(FindMyMain* findmy_main, uint8_t interval);
  24. void findmy_main_toggle_mac(FindMyMain* findmy_main, bool show_mac);
  25. void findmy_main_update_mac(FindMyMain* findmy_main, uint8_t* mac);
  26. void findmy_main_update_type(FindMyMain* findmy_main, FindMyType type);