|  | 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.