|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
A bounded back-stack of app ids layered over a registry (zero-heap). More...
#include <ra8_app.h>
Data Fields | |
| ra8_app_registry_t * | reg |
| Registry the navigation drives (non-NULL). | |
| uint16_t * | stack |
| Caller storage: back-stack of app ids. | |
| uint16_t | cap |
| Capacity of stack. | |
| uint16_t | depth |
| Number of ids currently on the back-stack. | |
A bounded back-stack of app ids layered over a registry (zero-heap).
The registry tracks only the currently focused app. A chrome/shell that lets the user drill in (library -> reader -> settings) and then press "back" needs the trail it came from. ra8_app_nav_t is that trail: ra8_app_nav_go focuses an app and remembers the one it left, and ra8_app_nav_back returns to the most recently remembered app. The history is a caller-owned uint16_t array of app ids – nothing is allocated (NASA Rule 3). The registry's own focus lifecycle (on_leave -> on_enter) still fires under every move, so a navigation layer composes ra8_app_launch rather than reimplementing it.
| uint16_t ra8_app_nav_t::cap |
Capacity of stack.
Definition at line 488 of file ra8_app.h.
Referenced by ra8_app_nav_go(), and ra8_app_nav_init().
| uint16_t ra8_app_nav_t::depth |
Number of ids currently on the back-stack.
Definition at line 489 of file ra8_app.h.
Referenced by ra8_app_nav_back(), ra8_app_nav_depth(), ra8_app_nav_go(), and ra8_app_nav_init().
| ra8_app_registry_t* ra8_app_nav_t::reg |
Registry the navigation drives (non-NULL).
Definition at line 486 of file ra8_app.h.
Referenced by ra8_app_nav_back(), ra8_app_nav_go(), ra8_app_nav_go_index(), and ra8_app_nav_init().
| uint16_t* ra8_app_nav_t::stack |
Caller storage: back-stack of app ids.
Definition at line 487 of file ra8_app.h.
Referenced by ra8_app_nav_back(), ra8_app_nav_go(), and ra8_app_nav_init().