Remove boost dependency
[platform/core/appfw/app-installers.git] / src / common / step / security / step_recover_signature.h
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.
4
5 #ifndef COMMON_STEP_SECURITY_STEP_RECOVER_SIGNATURE_H_
6 #define COMMON_STEP_SECURITY_STEP_RECOVER_SIGNATURE_H_
7
8 #include <manifest_parser/utils/logging.h>
9
10 #include <filesystem>
11
12 #include "common/installer_context.h"
13 #include "common/step/recovery/step_recovery.h"
14
15 namespace common_installer {
16 namespace security {
17
18 /**
19  * @brief responsible for restoring security
20  *        rules
21  *
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
26  * gets restored
27  */
28 class StepRecoverSignature : public recovery::StepRecovery {
29  public:
30   using StepRecovery::StepRecovery;
31
32   Status RecoveryNew() override;
33   Status RecoveryUpdate() override;
34   Status RecoveryReadonlyUpdateInstall() override;
35   Status Cleanup() override;
36
37  private:
38   virtual std::filesystem::path GetSignatureRoot() = 0;
39
40   STEP_NAME(RecoverSignature)
41 };
42
43 }  // namespace security
44 }  // namespace common_installer
45
46 #endif  // COMMON_STEP_SECURITY_STEP_RECOVER_SIGNATURE_H_