summaryrefslogtreecommitdiff
path: root/src/components/policy/include/policy/update_status_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/policy/include/policy/update_status_manager.h')
-rw-r--r--src/components/policy/include/policy/update_status_manager.h198
1 files changed, 0 insertions, 198 deletions
diff --git a/src/components/policy/include/policy/update_status_manager.h b/src/components/policy/include/policy/update_status_manager.h
deleted file mode 100644
index b4f52a8b03..0000000000
--- a/src/components/policy/include/policy/update_status_manager.h
+++ /dev/null
@@ -1,198 +0,0 @@
-#ifndef SRC_COMPONENTS_POLICY_INCLUDE_POLICY_UPDATE_STATUS_MANAGER_H
-#define SRC_COMPONENTS_POLICY_INCLUDE_POLICY_UPDATE_STATUS_MANAGER_H
-
-#include "policy/policy_types.h"
-#include "utils/lock.h"
-#include "utils/threads/thread.h"
-#include "utils/threads/thread_delegate.h"
-#include "utils/conditional_variable.h"
-#include "utils/lock.h"
-#include "utils/logger.h"
-#include "utils/macro.h"
-
-namespace policy {
-
-class PolicyListener;
-
-class UpdateStatusManager {
- public:
- /**
- * @brief Constructor
- */
- UpdateStatusManager();
-
- ~UpdateStatusManager();
-
- /**
- * @brief Sets listener pointer
- * @param listener Pointer to policy listener implementation
- */
- void set_listener(PolicyListener* listener);
-
- /**
- * @brief Update status hanlder for PTS sending out
- * @param update_timeout Timeout for waiting of incoming PTU
- */
- void OnUpdateSentOut(uint32_t update_timeout);
-
- /**
- * @brief Update status handler for PTU waiting timeout
- */
- void OnUpdateTimeoutOccurs();
-
- /**
- * @brief Update status handler for valid PTU receiving
- */
- void OnValidUpdateReceived();
-
- /**
- * @brief Update status handler for wrong PTU receiving
- */
- void OnWrongUpdateReceived();
-
- /**
- * @brief Update status handler for reset PT to default state
- * @param is_update_required Update necessity flag
- */
- void OnResetDefaultPT(bool is_update_required);
-
- /**
- * @brief Update status handler for restarting retry sequence
- */
- void OnResetRetrySequence();
-
- /**
- * @brief Update status handler on new application registering
- */
- void OnNewApplicationAdded();
-
- /**
- * @brief Update status handler for policy initialization
- * @param is_update_required Update necessity flag
- */
- void OnPolicyInit(bool is_update_required);
-
- /**
- * @brief IsUpdateRequired allows to distiguish if update is required
- *
- * @return true if update required.
- */
- bool IsUpdateRequired() const;
-
- /**
- * @brief IsUpdatePending allows to distinguish if update is in pending mode.
- *
- * @return true if update is in pending mode.
- */
- bool IsUpdatePending() const;
-
- /**
- * @brief ScheduleUpdate allows to schedule next update.
- * It will change state to Update_Needed, that's is.
- */
- void ScheduleUpdate();
-
- /**
- * @brief ResetUpdateSchedule allows to reset all scheduled updates.
- */
- void ResetUpdateSchedule();
-
- /**
- * @brief StringifiedUpdateStatus allows to obtain update status as a string.
- *
- * @return stringified update status.
- */
- std::string StringifiedUpdateStatus() const;
-
- /**
- * @brief Status handler on applications search started
- */
- void OnAppsSearchStarted();
-
- /**
- * @brief Status handler on applications search completed
- */
- void OnAppsSearchCompleted();
-
- /**
- * @brief Returns status is application search in progress
- * @return true, if in progress, otherwise - false
- */
- bool IsAppsSearchInProgress();
-
-#ifdef BUILD_TESTS
- PolicyTableStatus GetLastUpdateStatus() const {
- return GetUpdateStatus();
- }
-#endif // BUILD_TESTS
-
- private:
- /*
- * @brief Sets flag for update progress
- *
- * @param value
- */
- void set_exchange_in_progress(bool value);
-
- /*
- * @brief Sets flag for pending update
- *
- * @param value
- */
- void set_exchange_pending(bool value);
-
- /*
- * @brief Sets flag for update necessity
- *
- * @param value
- */
- void set_update_required(bool value);
-
- /**
- * @brief Check update status and notify HMI on changes
- */
- void CheckUpdateStatus();
-
- private:
- /**
- * @brief Returns current policy update status
- * @return
- */
- PolicyTableStatus GetUpdateStatus() const;
-
- PolicyListener* listener_;
- bool exchange_in_progress_;
- bool update_required_;
- bool update_scheduled_;
- bool exchange_pending_;
- bool apps_search_in_progress_;
- sync_primitives::Lock exchange_in_progress_lock_;
- sync_primitives::Lock update_required_lock_;
- sync_primitives::Lock exchange_pending_lock_;
- sync_primitives::Lock apps_search_in_progress_lock_;
- /**
- * @brief Last status of policy table update
- */
- PolicyTableStatus last_update_status_;
-
- class UpdateThreadDelegate : public threads::ThreadDelegate {
- public:
- UpdateThreadDelegate(UpdateStatusManager* update_status_manager);
- ~UpdateThreadDelegate();
- virtual void threadMain();
- virtual void exitThreadMain();
- void updateTimeOut(const uint32_t timeout_ms);
-
- volatile uint32_t timeout_;
- volatile bool stop_flag_;
- sync_primitives::Lock state_lock_;
- sync_primitives::ConditionalVariable termination_condition_;
- UpdateStatusManager* update_status_manager_;
- };
-
- UpdateThreadDelegate* update_status_thread_delegate_;
- threads::Thread* thread_;
-};
-}
-
-#endif // SRC_COMPONENTS_POLICY_INCLUDE_POLICY_UPDATE_STATUS_MANAGER_H