Index: chrome/installer/util/work_item.h |
diff --git a/chrome/installer/util/work_item.h b/chrome/installer/util/work_item.h |
index 30118609f6a48c68ecc822386939133c0e27a49c..b19f5c2254e36674d90408504161b376b9c3fd26 100644 |
--- a/chrome/installer/util/work_item.h |
+++ b/chrome/installer/util/work_item.h |
@@ -18,7 +18,6 @@ |
#include "base/callback_forward.h" |
class CallbackWorkItem; |
-class CopyRegKeyWorkItem; |
class CopyTreeWorkItem; |
class CreateDirWorkItem; |
class CreateRegKeyWorkItem; |
@@ -38,6 +37,15 @@ class FilePath; |
// sequence of actions during install/update/uninstall. |
class WorkItem { |
public: |
+ // All registry operations can be instructed to operate on a specific view |
+ // of the registry by specifying a REGSAM value to the wow64_access parameter. |
+ // The wow64_access parameter can be one of: |
+ // KEY_WOW64_32KEY - Operate on the 32-bit view. |
+ // KEY_WOW64_64KEY - Operate on the 64-bit view. |
+ // kWow64Default - Operate on the default view (e.g. 32-bit on 32-bit |
+ // systems, and 64-bit on 64-bit systems). |
+ // See http://msdn.microsoft.com/en-us/library/windows/desktop/aa384129.aspx |
+ static const REGSAM kWow64Default = 0; |
// Possible states |
enum CopyOverWriteOption { |
ALWAYS, // Always overwrite regardless of what existed before. |
@@ -67,13 +75,6 @@ class WorkItem { |
static CallbackWorkItem* CreateCallbackWorkItem( |
base::Callback<bool(const CallbackWorkItem&)> callback); |
- // Create a CopyRegKeyWorkItem that recursively copies a given registry key. |
- static CopyRegKeyWorkItem* CreateCopyRegKeyWorkItem( |
- HKEY predefined_root, |
- const std::wstring& source_key_path, |
- const std::wstring& dest_key_path, |
- CopyOverWriteOption overwrite_option); |
- |
// Create a CopyTreeWorkItem that recursively copies a file system hierarchy |
// from source path to destination path. |
// * If overwrite_option is ALWAYS, the created CopyTreeWorkItem always |
@@ -93,17 +94,22 @@ class WorkItem { |
// Create a CreateRegKeyWorkItem that creates a registry key at the given |
// path. |
static CreateRegKeyWorkItem* CreateCreateRegKeyWorkItem( |
- HKEY predefined_root, const std::wstring& path); |
+ HKEY predefined_root, |
+ const std::wstring& path, |
+ REGSAM wow64_access); |
// Create a DeleteRegKeyWorkItem that deletes a registry key at the given |
// path. |
static DeleteRegKeyWorkItem* CreateDeleteRegKeyWorkItem( |
- HKEY predefined_root, const std::wstring& path); |
+ HKEY predefined_root, |
+ const std::wstring& path, |
+ REGSAM wow64_access); |
// Create a DeleteRegValueWorkItem that deletes a registry value |
static DeleteRegValueWorkItem* CreateDeleteRegValueWorkItem( |
HKEY predefined_root, |
const std::wstring& key_path, |
+ REGSAM wow64_access, |
const std::wstring& value_name); |
// Create a DeleteTreeWorkItem that recursively deletes a file system |
@@ -127,6 +133,7 @@ class WorkItem { |
static SetRegValueWorkItem* CreateSetRegValueWorkItem( |
HKEY predefined_root, |
const std::wstring& key_path, |
+ REGSAM wow64_access, |
const std::wstring& value_name, |
const std::wstring& value_data, |
bool overwrite); |
@@ -136,16 +143,20 @@ class WorkItem { |
static SetRegValueWorkItem* CreateSetRegValueWorkItem( |
HKEY predefined_root, |
const std::wstring& key_path, |
+ REGSAM wow64_access, |
const std::wstring& value_name, |
- DWORD value_data, bool overwrite); |
+ DWORD value_data, |
+ bool overwrite); |
// Create a SetRegValueWorkItem that sets a registry value with REG_QWORD type |
// at the key with specified path. |
static SetRegValueWorkItem* CreateSetRegValueWorkItem( |
HKEY predefined_root, |
const std::wstring& key_path, |
+ REGSAM wow64_access, |
const std::wstring& value_name, |
- int64 value_data, bool overwrite); |
+ int64 value_data, |
+ bool overwrite); |
// Add a SelfRegWorkItem that registers or unregisters a DLL at the |
// specified path. |