1 // Copyright (c) 2016 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_SECURITY_STEP_RECOVER_SIGNATURE_H_
6 #define COMMON_STEP_SECURITY_STEP_RECOVER_SIGNATURE_H_
8 #include <manifest_parser/utils/logging.h>
12 #include "common/installer_context.h"
13 #include "common/step/recovery/step_recovery.h"
15 namespace common_installer {
19 * @brief responsible for restoring security
22 * Part of Recovery Mode. In case of partial
23 * installation security rules get unregistered
24 * In case of unsuccessful partial update
25 * security rules for the app before update
28 class StepRecoverSignature : public recovery::StepRecovery {
30 using StepRecovery::StepRecovery;
32 Status RecoveryNew() override;
33 Status RecoveryUpdate() override;
34 Status RecoveryReadonlyUpdateInstall() override;
35 Status Cleanup() override;
38 virtual std::filesystem::path GetSignatureRoot() = 0;
40 STEP_NAME(RecoverSignature)
43 } // namespace security
44 } // namespace common_installer
46 #endif // COMMON_STEP_SECURITY_STEP_RECOVER_SIGNATURE_H_