diff options
author | Andrey Oleynik <aoleynik@luxoft.com> | 2016-12-23 11:26:49 +0200 |
---|---|---|
committer | Andrey Oleynik <aoleynik@luxoft.com> | 2016-12-23 11:26:49 +0200 |
commit | 8ba7ec3b4f3509723a6984fd036453bd15fd5c7b (patch) | |
tree | 9d2473752d7aedbafd0c3396894a4283e8436b46 | |
parent | f85204d2a01ad3a94b32b22fbd1a1305ac2c4d86 (diff) | |
download | sdl_core-8ba7ec3b4f3509723a6984fd036453bd15fd5c7b.tar.gz |
Addresses comments
6 files changed, 153 insertions, 176 deletions
diff --git a/src/components/policy/policy_external/include/policy/status.h b/src/components/policy/policy_external/include/policy/status.h index 99026f7444..34890c6223 100644 --- a/src/components/policy/policy_external/include/policy/status.h +++ b/src/components/policy/policy_external/include/policy/status.h @@ -63,6 +63,12 @@ class UpdateStatusManager; class Status { public: /** + * @brief Constructor + */ + Status(const std::string& string_status, + const policy::PolicyTableStatus enum_status); + + /** * @brief Destructor */ virtual ~Status(); @@ -70,22 +76,23 @@ class Status { /** * @brief Process event by setting next status in case event can affect * current status or ignores the event - * @param mng Status manager pointer + * @param manager Status manager pointer * @param event Event which needs to be processed */ - virtual void ProcessEvent(UpdateStatusManager* mng, UpdateEvent event) = 0; + virtual void ProcessEvent(UpdateStatusManager* manager, + UpdateEvent event) = 0; /** * @brief Return current status as string value * @return Status as string */ - virtual const std::string get_status_string() const = 0; + virtual const std::string get_status_string() const; /** * @brief Return status as enum value * @return Status as enum value */ - virtual PolicyTableStatus get_status() const = 0; + virtual PolicyTableStatus get_status() const; /** * @brief Check whether update is required in terms of status @@ -98,6 +105,10 @@ class Status { * @return True if update is pending, otherwise - false */ virtual bool IsUpdatePending() const; + + private: + const std::string string_status_; + const PolicyTableStatus enum_status_; }; /** @@ -106,24 +117,17 @@ class Status { class UpToDateStatus : public Status { public: /** + * @brief Constructor + */ + UpToDateStatus(); + + /** * @brief Process event by setting next status in case event can affect * current status or ignores the event - * @param mng Status manager pointer + * @param manager Status manager pointer * @param event Event which needs to be processed */ - void ProcessEvent(UpdateStatusManager* mng, UpdateEvent event) OVERRIDE; - - /** - * @brief Return current status as string value - * @return Status as string - */ - const std::string get_status_string() const OVERRIDE; - - /** - * @brief Return status as enum value - * @return Status as enum value - */ - PolicyTableStatus get_status() const OVERRIDE; + void ProcessEvent(UpdateStatusManager* manager, UpdateEvent event) FINAL; }; /** @@ -132,30 +136,23 @@ class UpToDateStatus : public Status { class UpdateNeededStatus : public Status { public: /** + * @brief Constructor + */ + UpdateNeededStatus(); + + /** * @brief Process event by setting next status in case event can affect * current status or ignores the event - * @param mng Status manager pointer + * @param manager Status manager pointer * @param event Event which needs to be processed */ - void ProcessEvent(UpdateStatusManager* mng, UpdateEvent event) OVERRIDE; - - /** - * @brief Return current status as string value - * @return Status as string - */ - const std::string get_status_string() const OVERRIDE; - - /** - * @brief Return status as enum value - * @return Status as enum value - */ - PolicyTableStatus get_status() const OVERRIDE; + void ProcessEvent(UpdateStatusManager* manager, UpdateEvent event) FINAL; /** * @brief Check whether update is required in terms of status * @return True if update is required, otherwise - false */ - bool IsUpdateRequired() const OVERRIDE; + bool IsUpdateRequired() const FINAL; }; /** @@ -164,36 +161,29 @@ class UpdateNeededStatus : public Status { class UpdatingStatus : public Status { public: /** + * @brief Constructor + */ + UpdatingStatus(); + + /** * @brief Process event by setting next status in case event can affect * current status or ignores the event - * @param mng Status manager pointer + * @param manager Status manager pointer * @param event Event which needs to be processed */ - void ProcessEvent(UpdateStatusManager* mng, UpdateEvent event) OVERRIDE; - - /** - * @brief Return current status as string value - * @return Status as string - */ - const std::string get_status_string() const OVERRIDE; - - /** - * @brief Return status as enum value - * @return Status as enum value - */ - PolicyTableStatus get_status() const OVERRIDE; + void ProcessEvent(UpdateStatusManager* manager, UpdateEvent event) FINAL; /** * @brief Check whether update is required in terms of status * @return True if update is required, otherwise - false */ - bool IsUpdateRequired() const OVERRIDE; + bool IsUpdateRequired() const FINAL; /** * @brief Check whether update is pending in terms of status * @return True if update is pending, otherwise - false */ - bool IsUpdatePending() const OVERRIDE; + bool IsUpdatePending() const FINAL; }; } diff --git a/src/components/policy/policy_external/src/status.cc b/src/components/policy/policy_external/src/status.cc index 8f44766ba3..15e5b9b290 100644 --- a/src/components/policy/policy_external/src/status.cc +++ b/src/components/policy/policy_external/src/status.cc @@ -34,93 +34,79 @@ #include "policy/update_status_manager.h" #include "utils/make_shared.h" -void policy::UpToDateStatus::ProcessEvent(UpdateStatusManager* mng, +policy::UpToDateStatus::UpToDateStatus() + : Status("UP_TO_DATE", policy::PolicyTableStatus::StatusUpToDate) {} + +void policy::UpToDateStatus::ProcessEvent(UpdateStatusManager* manager, policy::UpdateEvent event) { switch (event) { case kOnNewAppRegistered: case kOnResetPolicyTableRequireUpdate: case kScheduleUpdate: case kOnResetRetrySequence: - mng->SetNextStatus(new UpdateNeededStatus()); + manager->SetNextStatus(utils::MakeShared<UpdateNeededStatus>()); break; default: break; } } -const std::string policy::UpToDateStatus::get_status_string() const { - return "UP_TO_DATE"; -} - -policy::PolicyTableStatus policy::UpToDateStatus::get_status() const { - return PolicyTableStatus::StatusUpToDate; +policy::UpdateNeededStatus::UpdateNeededStatus() + : Status("UPDATE_NEEDED", policy::PolicyTableStatus::StatusUpdateRequired) { } -void policy::UpdateNeededStatus::ProcessEvent(policy::UpdateStatusManager* mng, - policy::UpdateEvent event) { +void policy::UpdateNeededStatus::ProcessEvent( + policy::UpdateStatusManager* manager, policy::UpdateEvent event) { switch (event) { case kOnUpdateSentOut: - mng->SetNextStatus(utils::MakeShared<UpdatingStatus>()); + manager->SetNextStatus(utils::MakeShared<UpdatingStatus>()); break; case kOnResetPolicyTableRequireUpdate: - mng->SetNextStatus(utils::MakeShared<UpToDateStatus>()); - mng->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); + manager->SetNextStatus(utils::MakeShared<UpToDateStatus>()); + manager->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); break; case kOnResetPolicyTableNoUpdate: - mng->SetNextStatus(utils::MakeShared<UpToDateStatus>()); + manager->SetNextStatus(utils::MakeShared<UpToDateStatus>()); break; default: break; } } -const std::string policy::UpdateNeededStatus::get_status_string() const { - return "UPDATE_NEEDED"; -} - -policy::PolicyTableStatus policy::UpdateNeededStatus::get_status() const { - return PolicyTableStatus::StatusUpdateRequired; -} - bool policy::UpdateNeededStatus::IsUpdateRequired() const { return true; } -void policy::UpdatingStatus::ProcessEvent(policy::UpdateStatusManager* mng, +policy::UpdatingStatus::UpdatingStatus() + : Status("UPDATING", policy::PolicyTableStatus::StatusUpdatePending) {} + +void policy::UpdatingStatus::ProcessEvent(policy::UpdateStatusManager* manager, policy::UpdateEvent event) { switch (event) { case kOnValidUpdateReceived: case kOnResetPolicyTableNoUpdate: - mng->SetNextStatus(utils::MakeShared<UpToDateStatus>()); + manager->SetNextStatus(utils::MakeShared<UpToDateStatus>()); break; case kOnNewAppRegistered: - mng->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); + manager->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); break; case kOnWrongUpdateReceived: case kOnUpdateTimeout: - mng->SetNextStatus(utils::MakeShared<UpdateNeededStatus>()); + manager->SetNextStatus(utils::MakeShared<UpdateNeededStatus>()); break; case kOnResetPolicyTableRequireUpdate: - mng->SetNextStatus(utils::MakeShared<UpToDateStatus>()); - mng->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); + manager->SetNextStatus(utils::MakeShared<UpToDateStatus>()); + manager->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); break; case kScheduleUpdate: case kOnResetRetrySequence: - mng->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); + manager->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); break; default: break; } } -const std::string policy::UpdatingStatus::get_status_string() const { - return "UPDATING"; -} - -policy::PolicyTableStatus policy::UpdatingStatus::get_status() const { - return PolicyTableStatus::StatusUpdatePending; -} - bool policy::UpdatingStatus::IsUpdatePending() const { return true; } @@ -129,8 +115,20 @@ bool policy::UpdatingStatus::IsUpdateRequired() const { return true; } +policy::Status::Status(const std::string& string_status, + const policy::PolicyTableStatus enum_status) + : string_status_(string_status), enum_status_(enum_status) {} + policy::Status::~Status() {} +const std::string policy::Status::get_status_string() const { + return string_status_; +} + +policy::PolicyTableStatus policy::Status::get_status() const { + return enum_status_; +} + bool policy::Status::IsUpdateRequired() const { return false; } diff --git a/src/components/policy/policy_external/src/update_status_manager.cc b/src/components/policy/policy_external/src/update_status_manager.cc index b2ef91d4a6..6ec3b60778 100644 --- a/src/components/policy/policy_external/src/update_status_manager.cc +++ b/src/components/policy/policy_external/src/update_status_manager.cc @@ -33,6 +33,7 @@ #include "policy/update_status_manager.h" #include "policy/policy_listener.h" #include "utils/logger.h" +#include "utils/make_shared.h" namespace policy { @@ -40,7 +41,7 @@ CREATE_LOGGERPTR_GLOBAL(logger_, "Policy") UpdateStatusManager::UpdateStatusManager() : listener_(NULL) - , current_status_(new UpToDateStatus()) + , current_status_(utils::MakeShared<UpToDateStatus>()) , apps_search_in_progress_(false) , app_registered_from_non_consented_device_(true) { update_status_thread_delegate_ = new UpdateThreadDelegate(this); diff --git a/src/components/policy/policy_regular/include/policy/status.h b/src/components/policy/policy_regular/include/policy/status.h index 913b8daefe..eb1a0b481d 100644 --- a/src/components/policy/policy_regular/include/policy/status.h +++ b/src/components/policy/policy_regular/include/policy/status.h @@ -63,6 +63,12 @@ class UpdateStatusManagerInterface; class Status { public: /** + * @brief Constructor + */ + Status(const std::string& string_status, + const policy::PolicyTableStatus enum_status); + + /** * @brief Destructor */ virtual ~Status(); @@ -70,23 +76,23 @@ class Status { /** * @brief Process event by setting next status in case event can affect * current status or ignores the event - * @param mng Status manager pointer + * @param manager Status manager pointer * @param event Event which needs to be processed */ - virtual void ProcessEvent(UpdateStatusManagerInterface* mng, + virtual void ProcessEvent(UpdateStatusManagerInterface* manager, UpdateEvent event) = 0; /** * @brief Return current status as string value * @return Status as string */ - virtual const std::string get_status_string() const = 0; + virtual const std::string get_status_string() const; /** * @brief Return status as enum value * @return Status as enum value */ - virtual PolicyTableStatus get_status() const = 0; + virtual PolicyTableStatus get_status() const; /** * @brief Check whether update is required in terms of status @@ -99,6 +105,10 @@ class Status { * @return True if update is pending, otherwise - false */ virtual bool IsUpdatePending() const; + + private: + const std::string string_status_; + const PolicyTableStatus enum_status_; }; /** @@ -107,25 +117,18 @@ class Status { class UpToDateStatus : public Status { public: /** + * @brief Constructor + */ + UpToDateStatus(); + + /** * @brief Process event by setting next status in case event can affect * current status or ignores the event - * @param mng Status manager pointer + * @param manager Status manager pointer * @param event Event which needs to be processed */ - void ProcessEvent(UpdateStatusManagerInterface* mng, - UpdateEvent event) OVERRIDE; - - /** - * @brief Return current status as string value - * @return Status as string - */ - const std::string get_status_string() const OVERRIDE; - - /** - * @brief Return status as enum value - * @return Status as enum value - */ - PolicyTableStatus get_status() const OVERRIDE; + void ProcessEvent(UpdateStatusManagerInterface* manager, + UpdateEvent event) FINAL; }; /** @@ -134,31 +137,24 @@ class UpToDateStatus : public Status { class UpdateNeededStatus : public Status { public: /** + * @brief Constructor + */ + UpdateNeededStatus(); + + /** * @brief Process event by setting next status in case event can affect * current status or ignores the event - * @param mng Status manager pointer + * @param manager Status manager pointer * @param event Event which needs to be processed */ - void ProcessEvent(UpdateStatusManagerInterface* mng, - UpdateEvent event) OVERRIDE; - - /** - * @brief Return current status as string value - * @return Status as string - */ - const std::string get_status_string() const OVERRIDE; - - /** - * @brief Return status as enum value - * @return Status as enum value - */ - PolicyTableStatus get_status() const OVERRIDE; + void ProcessEvent(UpdateStatusManagerInterface* manager, + UpdateEvent event) FINAL; /** * @brief Check whether update is required in terms of status * @return True if update is required, otherwise - false */ - bool IsUpdateRequired() const OVERRIDE; + bool IsUpdateRequired() const FINAL; }; /** @@ -167,37 +163,30 @@ class UpdateNeededStatus : public Status { class UpdatingStatus : public Status { public: /** + * @brief Constructor + */ + UpdatingStatus(); + + /** * @brief Process event by setting next status in case event can affect * current status or ignores the event - * @param mng Status manager pointer + * @param manager Status manager pointer * @param event Event which needs to be processed */ - void ProcessEvent(UpdateStatusManagerInterface* mng, - UpdateEvent event) OVERRIDE; - - /** - * @brief Return current status as string value - * @return Status as string - */ - const std::string get_status_string() const OVERRIDE; - - /** - * @brief Return status as enum value - * @return Status as enum value - */ - PolicyTableStatus get_status() const OVERRIDE; + void ProcessEvent(UpdateStatusManagerInterface* manager, + UpdateEvent event) FINAL; /** * @brief Check whether update is required in terms of status * @return True if update is required, otherwise - false */ - bool IsUpdateRequired() const OVERRIDE; + bool IsUpdateRequired() const FINAL; /** * @brief Check whether update is pending in terms of status * @return True if update is pending, otherwise - false */ - bool IsUpdatePending() const OVERRIDE; + bool IsUpdatePending() const FINAL; }; } diff --git a/src/components/policy/policy_regular/src/status.cc b/src/components/policy/policy_regular/src/status.cc index 1971261432..0d42c807d8 100644 --- a/src/components/policy/policy_regular/src/status.cc +++ b/src/components/policy/policy_regular/src/status.cc @@ -34,93 +34,79 @@ #include "policy/update_status_manager_interface.h" #include "utils/make_shared.h" -void policy::UpToDateStatus::ProcessEvent(UpdateStatusManagerInterface* mng, +policy::UpToDateStatus::UpToDateStatus() + : Status("UP_TO_DATE", policy::PolicyTableStatus::StatusUpToDate) {} + +void policy::UpToDateStatus::ProcessEvent(UpdateStatusManagerInterface* manager, policy::UpdateEvent event) { switch (event) { case kOnNewAppRegistered: case kOnResetPolicyTableRequireUpdate: case kScheduleUpdate: case kOnResetRetrySequence: - mng->SetNextStatus(new UpdateNeededStatus()); + manager->SetNextStatus(utils::MakeShared<UpdateNeededStatus>()); break; default: break; } } -const std::string policy::UpToDateStatus::get_status_string() const { - return "UP_TO_DATE"; -} - -policy::PolicyTableStatus policy::UpToDateStatus::get_status() const { - return PolicyTableStatus::StatusUpToDate; +policy::UpdateNeededStatus::UpdateNeededStatus() + : Status("UPDATE_NEEDED", policy::PolicyTableStatus::StatusUpdateRequired) { } void policy::UpdateNeededStatus::ProcessEvent( - policy::UpdateStatusManagerInterface* mng, policy::UpdateEvent event) { + policy::UpdateStatusManagerInterface* manager, policy::UpdateEvent event) { switch (event) { case kOnUpdateSentOut: - mng->SetNextStatus(utils::MakeShared<UpdatingStatus>()); + manager->SetNextStatus(utils::MakeShared<UpdatingStatus>()); break; case kOnResetPolicyTableRequireUpdate: - mng->SetNextStatus(utils::MakeShared<UpToDateStatus>()); - mng->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); + manager->SetNextStatus(utils::MakeShared<UpToDateStatus>()); + manager->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); break; case kOnResetPolicyTableNoUpdate: - mng->SetNextStatus(utils::MakeShared<UpToDateStatus>()); + manager->SetNextStatus(utils::MakeShared<UpToDateStatus>()); break; default: break; } } -const std::string policy::UpdateNeededStatus::get_status_string() const { - return "UPDATE_NEEDED"; -} - -policy::PolicyTableStatus policy::UpdateNeededStatus::get_status() const { - return PolicyTableStatus::StatusUpdateRequired; -} - bool policy::UpdateNeededStatus::IsUpdateRequired() const { return true; } +policy::UpdatingStatus::UpdatingStatus() + : Status("UPDATING", policy::PolicyTableStatus::StatusUpdatePending) {} + void policy::UpdatingStatus::ProcessEvent( - policy::UpdateStatusManagerInterface* mng, policy::UpdateEvent event) { + policy::UpdateStatusManagerInterface* manager, policy::UpdateEvent event) { switch (event) { case kOnValidUpdateReceived: case kOnResetPolicyTableNoUpdate: - mng->SetNextStatus(utils::MakeShared<UpToDateStatus>()); + manager->SetNextStatus(utils::MakeShared<UpToDateStatus>()); break; case kOnNewAppRegistered: - mng->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); + manager->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); break; case kOnWrongUpdateReceived: case kOnUpdateTimeout: - mng->SetNextStatus(utils::MakeShared<UpdateNeededStatus>()); + manager->SetNextStatus(utils::MakeShared<UpdateNeededStatus>()); break; case kOnResetPolicyTableRequireUpdate: - mng->SetNextStatus(utils::MakeShared<UpToDateStatus>()); - mng->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); + manager->SetNextStatus(utils::MakeShared<UpToDateStatus>()); + manager->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); break; case kScheduleUpdate: case kOnResetRetrySequence: - mng->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); + manager->SetPostponedStatus(utils::MakeShared<UpdateNeededStatus>()); break; default: break; } } -const std::string policy::UpdatingStatus::get_status_string() const { - return "UPDATING"; -} - -policy::PolicyTableStatus policy::UpdatingStatus::get_status() const { - return PolicyTableStatus::StatusUpdatePending; -} - bool policy::UpdatingStatus::IsUpdatePending() const { return true; } @@ -129,8 +115,20 @@ bool policy::UpdatingStatus::IsUpdateRequired() const { return true; } +policy::Status::Status(const std::string& string_status, + const policy::PolicyTableStatus enum_status) + : string_status_(string_status), enum_status_(enum_status) {} + policy::Status::~Status() {} +const std::string policy::Status::get_status_string() const { + return string_status_; +} + +policy::PolicyTableStatus policy::Status::get_status() const { + return enum_status_; +} + bool policy::Status::IsUpdateRequired() const { return false; } diff --git a/src/components/policy/policy_regular/src/update_status_manager.cc b/src/components/policy/policy_regular/src/update_status_manager.cc index b2ef91d4a6..6ec3b60778 100644 --- a/src/components/policy/policy_regular/src/update_status_manager.cc +++ b/src/components/policy/policy_regular/src/update_status_manager.cc @@ -33,6 +33,7 @@ #include "policy/update_status_manager.h" #include "policy/policy_listener.h" #include "utils/logger.h" +#include "utils/make_shared.h" namespace policy { @@ -40,7 +41,7 @@ CREATE_LOGGERPTR_GLOBAL(logger_, "Policy") UpdateStatusManager::UpdateStatusManager() : listener_(NULL) - , current_status_(new UpToDateStatus()) + , current_status_(utils::MakeShared<UpToDateStatus>()) , apps_search_in_progress_(false) , app_registered_from_non_consented_device_(true) { update_status_thread_delegate_ = new UpdateThreadDelegate(this); |