CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
cdc::plugin_manager::PluginUiState Class Reference

#include <PluginUiState.h>

Public Member Functions

int pushList (const char *title, const ui_item_t *items, uint16_t count, uint32_t select_action_id, uint32_t menu_action_id, bool replace_top=false)
int updateListItem (uint16_t index, const ui_item_t *item)
 Redraw a single row of the current plugin list in place (partial refresh).
int insertListItem (uint16_t index, const ui_item_t *item)
 Insert a row at index into the current plugin list (rebuild + partial refresh).
int removeListItem (uint16_t index)
 Remove the row at index from the current plugin list (rebuild + partial refresh).
int pushContextMenu (const char *title, const ui_item_t *items, uint16_t count, uint32_t select_action_id)
int pushConfirm (const char *text, uint8_t icon, uint32_t action_id)
int pushT9 (const char *title, const char *initial, uint16_t max_len, uint32_t action_id)
int pushPin (const char *title, uint8_t max_len, uint8_t max_attempts, uint32_t action_id)
int pushSlider (const char *title, int32_t min, int32_t max, int32_t init, int32_t step, const char *unit, uint32_t action_id)
int pushDate (const char *title, uint8_t d, uint8_t m, uint16_t y, uint32_t action_id)
int pushTime (const char *title, uint8_t h, uint8_t m, uint32_t action_id)
int pushColorPicker (uint8_t r, uint8_t g, uint8_t b, uint32_t action_id)
int pushCanvas (const char *title, uint32_t key_action_id, uint32_t widget_action_id)
int setCanvasLongPressAction (uint32_t action_id)
cdc::ui::CanvasViewcanvasView ()
int acquireExclusive ()
int releaseExclusive ()
int setInactivity (uint32_t timeout_ms, uint32_t action_id)
int consumeInputText (char *out, size_t out_size)
int consumeInputInt (int32_t *out)
int setViewFooter (const char *hint)
int setViewEmpty (const char *text)
int setViewLifecycle (uint32_t hide_action_id, uint32_t show_action_id)
void resetForPluginStop ()
void dispatchContextSelect (uint8_t idx)

Static Public Member Functions

static PluginUiState & instance () noexcept

Detailed Description

Definition at line 36 of file PluginUiState.h.

Member Function Documentation

◆ acquireExclusive()

int cdc::plugin_manager::PluginUiState::acquireExclusive ( )
nodiscard

◆ canvasView()

cdc::ui::CanvasView * cdc::plugin_manager::PluginUiState::canvasView ( )
nodiscard

Definition at line 702 of file PluginUiState.cpp.

◆ consumeInputInt()

int cdc::plugin_manager::PluginUiState::consumeInputInt ( int32_t * out)
nodiscard

Definition at line 740 of file PluginUiState.cpp.

References HOST_ERR_INVALID_ARG, HOST_ERR_NOT_FOUND, and HOST_OK.

Referenced by host_ui_consume_input_int().

◆ consumeInputText()

int cdc::plugin_manager::PluginUiState::consumeInputText ( char * out,
size_t out_size )
nodiscard

Definition at line 732 of file PluginUiState.cpp.

References cdc::plugin_manager::copyUtf8(), and HOST_ERR_INVALID_ARG.

Referenced by host_ui_consume_input_text().

◆ dispatchContextSelect()

void cdc::plugin_manager::PluginUiState::dispatchContextSelect ( uint8_t idx)

◆ insertListItem()

int cdc::plugin_manager::PluginUiState::insertListItem ( uint16_t index,
const ui_item_t * item )
nodiscard

◆ instance()

◆ pushCanvas()

int cdc::plugin_manager::PluginUiState::pushCanvas ( const char * title,
uint32_t key_action_id,
uint32_t widget_action_id )
nodiscard

◆ pushColorPicker()

int cdc::plugin_manager::PluginUiState::pushColorPicker ( uint8_t r,
uint8_t g,
uint8_t b,
uint32_t action_id )
nodiscard

◆ pushConfirm()

int cdc::plugin_manager::PluginUiState::pushConfirm ( const char * text,
uint8_t icon,
uint32_t action_id )
nodiscard

◆ pushContextMenu()

int cdc::plugin_manager::PluginUiState::pushContextMenu ( const char * title,
const ui_item_t * items,
uint16_t count,
uint32_t select_action_id )
nodiscard

◆ pushDate()

int cdc::plugin_manager::PluginUiState::pushDate ( const char * title,
uint8_t d,
uint8_t m,
uint16_t y,
uint32_t action_id )
nodiscard

◆ pushList()

int cdc::plugin_manager::PluginUiState::pushList ( const char * title,
const ui_item_t * items,
uint16_t count,
uint32_t select_action_id,
uint32_t menu_action_id,
bool replace_top = false )
nodiscard

◆ pushPin()

int cdc::plugin_manager::PluginUiState::pushPin ( const char * title,
uint8_t max_len,
uint8_t max_attempts,
uint32_t action_id )
nodiscard

◆ pushSlider()

int cdc::plugin_manager::PluginUiState::pushSlider ( const char * title,
int32_t min,
int32_t max,
int32_t init,
int32_t step,
const char * unit,
uint32_t action_id )
nodiscard

◆ pushT9()

int cdc::plugin_manager::PluginUiState::pushT9 ( const char * title,
const char * initial,
uint16_t max_len,
uint32_t action_id )
nodiscard

◆ pushTime()

int cdc::plugin_manager::PluginUiState::pushTime ( const char * title,
uint8_t h,
uint8_t m,
uint32_t action_id )
nodiscard

◆ releaseExclusive()

int cdc::plugin_manager::PluginUiState::releaseExclusive ( )
nodiscard

◆ removeListItem()

int cdc::plugin_manager::PluginUiState::removeListItem ( uint16_t index)
nodiscard

Remove the row at index from the current plugin list (rebuild + partial refresh).

Definition at line 534 of file PluginUiState.cpp.

References HOST_ERR_INVALID_ARG, HOST_ERR_NOT_FOUND, HOST_OK, and cdc::ui::ViewStack::instance().

Referenced by host_ui_remove_list_item().

◆ resetForPluginStop()

void cdc::plugin_manager::PluginUiState::resetForPluginStop ( )

Drop ownership of every plugin-pushed view and reset transient state. Called by PluginManager when the active plugin stops; views that may still be on the view stack (popped naturally or not) are destroyed only here, never inline while user input is being dispatched.

Definition at line 120 of file PluginUiState.cpp.

References cdc::ui::ViewStack::instance().

Referenced by cdc::plugin_manager::PluginManager::stopActivePlugin(), cdc::plugin_manager::PluginManager::unloadAllFromRam(), and cdc::plugin_manager::PluginManager::unloadFromRam().

◆ setCanvasLongPressAction()

int cdc::plugin_manager::PluginUiState::setCanvasLongPressAction ( uint32_t action_id)
nodiscard

Definition at line 694 of file PluginUiState.cpp.

References HOST_ERR_NOT_FOUND, and HOST_OK.

Referenced by host_view_canvas_set_long_press_action().

◆ setInactivity()

int cdc::plugin_manager::PluginUiState::setInactivity ( uint32_t timeout_ms,
uint32_t action_id )
nodiscard

◆ setViewEmpty()

int cdc::plugin_manager::PluginUiState::setViewEmpty ( const char * text)
nodiscard

◆ setViewFooter()

int cdc::plugin_manager::PluginUiState::setViewFooter ( const char * hint)
nodiscard

◆ setViewLifecycle()

int cdc::plugin_manager::PluginUiState::setViewLifecycle ( uint32_t hide_action_id,
uint32_t show_action_id )
nodiscard

Wire hide/show callbacks on the current plugin view. The action ids fire via plugin_on_action when the view is covered (hide) or revealed (show).

Definition at line 106 of file PluginUiState.cpp.

References cdc::ui::ViewStack::current(), HOST_ERR_NOT_FOUND, HOST_OK, and cdc::ui::ViewStack::instance().

Referenced by host_ui_set_view_lifecycle().

◆ updateListItem()

int cdc::plugin_manager::PluginUiState::updateListItem ( uint16_t index,
const ui_item_t * item )
nodiscard

The documentation for this class was generated from the following files: