OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_INSTALLER_UTIL_DELETE_REG_VALUE_WORK_ITEM_H_ | 5 #ifndef CHROME_INSTALLER_UTIL_DELETE_REG_VALUE_WORK_ITEM_H_ |
6 #define CHROME_INSTALLER_UTIL_DELETE_REG_VALUE_WORK_ITEM_H_ | 6 #define CHROME_INSTALLER_UTIL_DELETE_REG_VALUE_WORK_ITEM_H_ |
7 | 7 |
8 #include <windows.h> | 8 #include <windows.h> |
9 | 9 |
10 #include <string> | 10 #include <string> |
11 | 11 |
12 #include "chrome/installer/util/work_item.h" | 12 #include "chrome/installer/util/work_item.h" |
13 | 13 |
14 // A WorkItem subclass that deletes a registry value with REG_SZ, REG_DWORD, or | 14 // A WorkItem subclass that deletes a registry value with REG_SZ, REG_DWORD, or |
15 // REG_QWORD type at the specified path. The value is only deleted if the target | 15 // REG_QWORD type at the specified path. The value is only deleted if the target |
16 // key exists. | 16 // key exists. |
17 class DeleteRegValueWorkItem : public WorkItem { | 17 class DeleteRegValueWorkItem : public WorkItem { |
18 public: | 18 public: |
19 virtual ~DeleteRegValueWorkItem(); | 19 ~DeleteRegValueWorkItem() override; |
20 | 20 |
21 virtual bool Do(); | 21 bool Do() override; |
22 | 22 |
23 virtual void Rollback(); | 23 void Rollback() override; |
24 | 24 |
25 private: | 25 private: |
26 friend class WorkItem; | 26 friend class WorkItem; |
27 | 27 |
28 enum DeletionStatus { | 28 enum DeletionStatus { |
29 // The status before Do is called. | 29 // The status before Do is called. |
30 DELETE_VALUE, | 30 DELETE_VALUE, |
31 // One possible outcome after Do(). Value is deleted. | 31 // One possible outcome after Do(). Value is deleted. |
32 VALUE_DELETED, | 32 VALUE_DELETED, |
33 // One possible outcome after Do(). Value is not found. | 33 // One possible outcome after Do(). Value is not found. |
(...skipping 23 matching lines...) Expand all Loading... |
57 REGSAM wow64_access_; | 57 REGSAM wow64_access_; |
58 | 58 |
59 DeletionStatus status_; | 59 DeletionStatus status_; |
60 | 60 |
61 // Previous value. | 61 // Previous value. |
62 DWORD previous_type_; | 62 DWORD previous_type_; |
63 std::string previous_value_; | 63 std::string previous_value_; |
64 }; | 64 }; |
65 | 65 |
66 #endif // CHROME_INSTALLER_UTIL_DELETE_REG_VALUE_WORK_ITEM_H_ | 66 #endif // CHROME_INSTALLER_UTIL_DELETE_REG_VALUE_WORK_ITEM_H_ |
OLD | NEW |