![]() |
GM6000 Digital Heater Controller Build: 20 (Branch = develop)
SDX-1330
|
This class implements the Screen Manager. More...
This class implements the Screen Manager.
The screen manager is responsible for navigation mechanics and handling of the Splash, Shutting-Down, and Error-Halt screens
The Screen Manager is required to execute in the UI thread
#include <Api.h>
Classes | |
| class | NavigationElement |
| Type for 'elements' in the Navigation Stack. More... | |
Public Member Functions | |
| Api (Cpl::Dm::MailboxServer &uiMbox, MpScreenApiPtr &homeScreenMP, MpStaticScreenApiPtr &haltUiMP, Cpl::Dm::Mp::Bool &displaySleepRequestMP, MpStaticScreenApiPtr &shutdownMP, DisplayApi &display, NavigationElement memoryForNavigationStack[], size_t numElementsInNavigtationStackArray, Cpl::Container::RingBufferMP< AjaxScreenMgrEvent_T > &eventRingBuffer) | |
| Constructor. | |
| void | request (OpenMsg &msg) |
| Starts/initializes the manager. | |
| void | request (CloseMsg &msg) |
| Shutdowns the manager. | |
| void | push (ScreenApi &newScreen) noexcept |
| See Ajax::ScreenMgr::Navigation. | |
| void | pop (unsigned count=1) noexcept |
| See Ajax::ScreenMgr::Navigation. | |
| void | popTo (ScreenApi &returnToScreen) noexcept |
| See Ajax::ScreenMgr::Navigation. | |
| void | popToHome () noexcept |
| See Ajax::ScreenMgr::Navigation. | |
| ScreenApi * | getCurrentScreen () noexcept |
| See Ajax::ScreenMgr::Navigation. | |
| bool | isCurrentScreenHaltError () noexcept |
| See Ajax::ScreenMgr::Navigation. | |
Public Member Functions inherited from Cpl::Itc::CloseSync | |
| CloseSync (PostApi &myMbox) noexcept | |
| Constructor. | |
| bool | close (void *args=nullptr) |
| See CloseSync. | |
Public Member Functions inherited from Cpl::Itc::OpenSync | |
| OpenSync (PostApi &myMbox) noexcept | |
| Constructor. | |
| bool | open (void *args=nullptr) |
| See OpenApi. | |
Public Member Functions inherited from Cpl::Itc::OpenApi | |
| virtual | ~OpenApi () |
| Virtual destructor. | |
Public Member Functions inherited from Cpl::Itc::CloseApi | |
| virtual | ~CloseApi () |
| Virtual destructor. | |
Public Member Functions inherited from Ajax::ScreenMgr::Navigation | |
| virtual | ~Navigation () |
| Virtual destructor. | |
Protected Member Functions | |
| void | homeScreenMp_changed (MpScreenApiPtr &modelPointThatChanged, Cpl::Dm::SubscriberApi &clientObserver) noexcept |
| MP Change notification. | |
| void | haltUiMp_changed (MpStaticScreenApiPtr &modelPointThatChanged, Cpl::Dm::SubscriberApi &clientObserver) noexcept |
| MP Change notification. | |
| void | sleepRequestMp_changed (Cpl::Dm::Mp::Bool &modelPointThatChanged, Cpl::Dm::SubscriberApi &clientObserver) noexcept |
| MP Change notification. | |
| void | shutdownMp_changed (MpStaticScreenApiPtr &modelPointThatChanged, Cpl::Dm::SubscriberApi &clientObserver) noexcept |
| MP Change notification. | |
| void | eventQueueCountMp_changed (Cpl::Dm::Mp::Uint32 &modelPointThatChanged, Cpl::Dm::SubscriberApi &clientObserver) noexcept |
| MP Change notification. | |
| void | timerExpired (void) |
| 20Hz timer expired | |
| void | transitionToHaltScreen () noexcept |
| Helper method. | |
Additional Inherited Members | |
Public Types inherited from Cpl::Itc::OpenRequest | |
| typedef Cpl::Itc::SAP< OpenRequest > | SAP |
| SAP for this API. | |
| typedef RequestMessage< OpenRequest, OpenPayload > | OpenMsg |
| Message Type: Open. | |
Public Types inherited from Cpl::Itc::CloseRequest | |
| typedef Cpl::Itc::SAP< CloseRequest > | SAP |
| SAP for this API. | |
| typedef RequestMessage< CloseRequest, ClosePayload > | CloseMsg |
| Message Type: Close. | |
| Ajax::ScreenMgr::Api::Api | ( | Cpl::Dm::MailboxServer & | uiMbox, |
| MpScreenApiPtr & | homeScreenMP, | ||
| MpStaticScreenApiPtr & | haltUiMP, | ||
| Cpl::Dm::Mp::Bool & | displaySleepRequestMP, | ||
| MpStaticScreenApiPtr & | shutdownMP, | ||
| DisplayApi & | display, | ||
| NavigationElement | memoryForNavigationStack[], | ||
| size_t | numElementsInNavigtationStackArray, | ||
| Cpl::Container::RingBufferMP< AjaxScreenMgrEvent_T > & | eventRingBuffer ) |
Constructor.
THe application is responsible for populating the 'freeMemoryForNavigationStack' with 'NullScreen' instances. The number of elements in the list determines the depth of the navigation stack.
|
protectednoexcept |
MP Change notification.
|
virtualnoexcept |
See Ajax::ScreenMgr::Navigation.
Implements Ajax::ScreenMgr::Navigation.
|
protectednoexcept |
MP Change notification.
|
protectednoexcept |
MP Change notification.
|
virtualnoexcept |
See Ajax::ScreenMgr::Navigation.
Implements Ajax::ScreenMgr::Navigation.
|
virtualnoexcept |
See Ajax::ScreenMgr::Navigation.
Implements Ajax::ScreenMgr::Navigation.
|
virtualnoexcept |
See Ajax::ScreenMgr::Navigation.
Implements Ajax::ScreenMgr::Navigation.
|
virtualnoexcept |
See Ajax::ScreenMgr::Navigation.
Implements Ajax::ScreenMgr::Navigation.
|
virtualnoexcept |
See Ajax::ScreenMgr::Navigation.
Implements Ajax::ScreenMgr::Navigation.
|
virtual |
Shutdowns the manager.
Implements Cpl::Itc::CloseRequest.
|
virtual |
Starts/initializes the manager.
The open() must pass a non-null pointer to the splash screen (StaticScreenApi*) as the 'args' parameter.
Implements Cpl::Itc::OpenRequest.
|
protectednoexcept |
MP Change notification.
|
protectednoexcept |
MP Change notification.
|
protected |
20Hz timer expired
|
protectednoexcept |
Helper method.
|
protected |
Current Screen.
|
protected |
Handle to the 'display'.
|
protected |
Thread safe Event queue.
|
protected |
Free 'memory' for the navigation stack.
|
protected |
The UI is halted (due to an application error)
|
protected |
Current Home Screen Handle.
|
protected |
Sleep request MP (true:= turn off the display)
|
protected |
Halt screen MP.
|
protected |
Home screen MP.
|
protected |
Shutdown request MP.
|
protected |
The Navigation stack.
|
protected |
Subscriber.
|
protected |
Subscriber.
|
protected |
Subscriber.
|
protected |
Subscriber.
|
protected |
Subscriber.
|
protected |
My open state.
|
protected |
Pending transition to the error screen.
|
protected |
Shutdown flag.
|
protected |
20Hz tick timer
|
protected |
Timer marker of last Tick call.