virtual_portal.h 727 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include <notification/notification_messages.h>
  3. #include <furi_hal_light.h>
  4. #include "pof_token.h"
  5. #define POF_TOKEN_LIMIT 7
  6. typedef struct {
  7. PoFToken* tokens[POF_TOKEN_LIMIT];
  8. uint8_t sequence_number;
  9. bool active;
  10. bool speaker;
  11. NotificationApp* notifications;
  12. } VirtualPortal;
  13. VirtualPortal* virtual_portal_alloc(NotificationApp* notifications);
  14. void virtual_portal_free(VirtualPortal* virtual_portal);
  15. void virtual_portal_load_token(VirtualPortal* virtual_portal, PoFToken* pof_token);
  16. int virtual_portal_process_message(
  17. VirtualPortal* virtual_portal,
  18. uint8_t* message,
  19. uint8_t* response);
  20. int virtual_portal_send_status(VirtualPortal* virtual_portal, uint8_t* response);