diff options
Diffstat (limited to 'src/components/policy/policy_regular/include/policy/status.h')
-rw-r--r-- | src/components/policy/policy_regular/include/policy/status.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/components/policy/policy_regular/include/policy/status.h b/src/components/policy/policy_regular/include/policy/status.h index 8fd3ff559e..4d8bc47dae 100644 --- a/src/components/policy/policy_regular/include/policy/status.h +++ b/src/components/policy/policy_regular/include/policy/status.h @@ -52,6 +52,7 @@ enum UpdateEvent { kOnResetPolicyTableRequireUpdate, kOnResetPolicyTableNoUpdate, kScheduleUpdate, + kPendingUpdate, kScheduleManualUpdate, kOnResetRetrySequence, kNoEvent @@ -118,6 +119,39 @@ class Status { }; /** + * @brief The UpdatePendingStatus class represents cases when SDL knows that an + * update is required but before the snapshot is sent to the HMI + */ +class UpdatePendingStatus : public Status { + public: + /** + * @brief Constructor + */ + UpdatePendingStatus(); + + /** + * @brief Process event by setting next status in case event can affect + * current status or ignores the event + * @param manager Status manager pointer + * @param event Event which needs to be processed + */ + void ProcessEvent(UpdateStatusManagerInterface* manager, + UpdateEvent event) OVERRIDE; + + /** + * @brief Check whether update is required in terms of status + * @return True if update is required, otherwise - false + */ + bool IsUpdateRequired() const OVERRIDE; + + /** + * @brief Check whether update is pending in terms of status + * @return True if update is pending, otherwise - false + */ + bool IsUpdatePending() const OVERRIDE; +}; + +/** * @brief The UpToDateStatus class represents 'up-to-date' status */ class UpToDateStatus : public Status { |