#ifndef MODE_EVENT_H #define MODE_EVENT_H #include #include #include typedef enum { MODE_TYPE_USB, MODE_TYPE_BLE, MODE_TYPE_2G4, MODE_TYPE_COUNT, } mode_type_t; struct mode_event { struct app_event_header header; mode_type_t mode_type; }; APP_EVENT_TYPE_DECLARE(mode_event); static inline void mode_event_submit(mode_type_t mode) { struct mode_event *event = new_mode_event(); event->mode_type = mode; APP_EVENT_SUBMIT(event); } static inline mode_type_t mode_event_get_mode(const struct mode_event *event) { return event->mode_type; } static inline bool mode_event_is_usb(const struct mode_event *event) { return event->mode_type == MODE_TYPE_USB; } static inline bool mode_event_is_ble(const struct mode_event *event) { return event->mode_type == MODE_TYPE_BLE; } static inline bool mode_event_is_2g4(const struct mode_event *event) { return event->mode_type == MODE_TYPE_2G4; } #endif