diff options
Diffstat (limited to 'src/components/application_manager/include/application_manager/application_state.h')
-rw-r--r-- | src/components/application_manager/include/application_manager/application_state.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/components/application_manager/include/application_manager/application_state.h b/src/components/application_manager/include/application_manager/application_state.h index 8c4d2d49d6..9d80df0590 100644 --- a/src/components/application_manager/include/application_manager/application_state.h +++ b/src/components/application_manager/include/application_manager/application_state.h @@ -45,6 +45,7 @@ namespace application_manager { typedef std::vector<WindowID> WindowIds; typedef std::vector<HmiStatePtr> HmiStates; typedef std::map<WindowID, HmiStates> HmiStatesMap; +typedef std::map<WindowID, HmiStatePtr> HmiStateMap; typedef std::vector<std::string> WindowNames; typedef std::map<WindowID, std::string> WindowNamesMap; @@ -143,6 +144,15 @@ class ApplicationState { void RemoveHMIState(const WindowID window_id, HmiState::StateID state_id); /** + * @brief EraseHMIState safely erases an HMI State from a window's HMIStates + * list + * + * @param hmi_states HMI States list. + * @param it Iterator pointing to element to be removed. + */ + void EraseHMIState(HmiStates& hmi_states, HmiStates::iterator it); + + /** * @brief RemoveWindowHMIStates removes all HMI states related to specified * window * @param window_id window ID to remove @@ -202,6 +212,16 @@ class ApplicationState { */ mutable sync_primitives::Lock hmi_states_map_lock_; + /** + * @brief Postponed states of application + */ + HmiStateMap postponed_states_map_; + + /** + * @brief postponed_states_map_lock_ + */ + mutable sync_primitives::Lock postponed_states_map_lock_; + DISALLOW_COPY_AND_ASSIGN(ApplicationState); }; } // namespace application_manager |