1 // Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
2 // Use of this source code is governed by an apache-2.0 license that can be
3 // found in the LICENSE file.
5 #ifndef COMMON_STEP_FILESYSTEM_STEP_RECOVER_ICONS_H_
6 #define COMMON_STEP_FILESYSTEM_STEP_RECOVER_ICONS_H_
8 #include <manifest_parser/utils/logging.h>
15 #include "common/installer_context.h"
16 #include "common/step/recovery/step_recovery.h"
18 namespace common_installer {
19 namespace filesystem {
22 * @brief The StepRecoverIcons class
23 * Fixes state of platform icon files in recovery mode.
25 * For recovery of new installation, all icons files are removed.
26 * For recovery of update installation, all icons of applications of package are
27 * restored to its previous locations.
29 class StepRecoverIcons : public recovery::StepRecovery {
31 using StepRecovery::StepRecovery;
33 Status RecoveryNew() override;
34 Status RecoveryUpdate() override;
37 bool TryGatherIcons();
39 std::set<std::pair<std::filesystem::path, std::filesystem::path>>
42 STEP_NAME(RecoverIcons)
45 } // namespace filesystem
46 } // namespace common_installer
48 #endif // COMMON_STEP_FILESYSTEM_STEP_RECOVER_ICONS_H_