| 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 #include "chrome/installer/util/work_item_list.h" | 5 #include "chrome/installer/util/work_item_list.h" |
| 6 | 6 |
| 7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "chrome/installer/util/callback_work_item.h" | 9 #include "chrome/installer/util/callback_work_item.h" |
| 10 #include "chrome/installer/util/copy_reg_key_work_item.h" | 10 #include "chrome/installer/util/copy_reg_key_work_item.h" |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 base::Callback<bool(const CallbackWorkItem&)> callback) { | 78 base::Callback<bool(const CallbackWorkItem&)> callback) { |
| 79 WorkItem* item = WorkItem::CreateCallbackWorkItem(callback); | 79 WorkItem* item = WorkItem::CreateCallbackWorkItem(callback); |
| 80 AddWorkItem(item); | 80 AddWorkItem(item); |
| 81 return item; | 81 return item; |
| 82 } | 82 } |
| 83 | 83 |
| 84 WorkItem* WorkItemList::AddCopyRegKeyWorkItem( | 84 WorkItem* WorkItemList::AddCopyRegKeyWorkItem( |
| 85 HKEY predefined_root, | 85 HKEY predefined_root, |
| 86 const std::wstring& source_key_path, | 86 const std::wstring& source_key_path, |
| 87 const std::wstring& dest_key_path, | 87 const std::wstring& dest_key_path, |
| 88 CopyOverWriteOption overwrite_option) { | 88 CopyOverWriteOption overwrite_option, |
| 89 RegWow64ViewOption reg_wow64_option) { |
| 89 WorkItem* item = WorkItem::CreateCopyRegKeyWorkItem( | 90 WorkItem* item = WorkItem::CreateCopyRegKeyWorkItem( |
| 90 predefined_root, source_key_path, dest_key_path, overwrite_option); | 91 predefined_root, |
| 92 source_key_path, |
| 93 dest_key_path, |
| 94 overwrite_option, |
| 95 reg_wow64_option); |
| 91 AddWorkItem(item); | 96 AddWorkItem(item); |
| 92 return item; | 97 return item; |
| 93 } | 98 } |
| 94 | 99 |
| 95 WorkItem* WorkItemList::AddCopyTreeWorkItem( | 100 WorkItem* WorkItemList::AddCopyTreeWorkItem( |
| 96 const std::wstring& source_path, | 101 const std::wstring& source_path, |
| 97 const std::wstring& dest_path, | 102 const std::wstring& dest_path, |
| 98 const std::wstring& temp_dir, | 103 const std::wstring& temp_dir, |
| 99 CopyOverWriteOption overwrite_option, | 104 CopyOverWriteOption overwrite_option, |
| 100 const std::wstring& alternative_path) { | 105 const std::wstring& alternative_path) { |
| 101 WorkItem* item = WorkItem::CreateCopyTreeWorkItem( | 106 WorkItem* item = WorkItem::CreateCopyTreeWorkItem( |
| 102 base::FilePath(source_path), | 107 base::FilePath(source_path), |
| 103 base::FilePath(dest_path), | 108 base::FilePath(dest_path), |
| 104 base::FilePath(temp_dir), | 109 base::FilePath(temp_dir), |
| 105 overwrite_option, | 110 overwrite_option, |
| 106 base::FilePath(alternative_path)); | 111 base::FilePath(alternative_path)); |
| 107 AddWorkItem(item); | 112 AddWorkItem(item); |
| 108 return item; | 113 return item; |
| 109 } | 114 } |
| 110 | 115 |
| 111 WorkItem* WorkItemList::AddCreateDirWorkItem(const base::FilePath& path) { | 116 WorkItem* WorkItemList::AddCreateDirWorkItem(const base::FilePath& path) { |
| 112 WorkItem* item = WorkItem::CreateCreateDirWorkItem(path); | 117 WorkItem* item = WorkItem::CreateCreateDirWorkItem(path); |
| 113 AddWorkItem(item); | 118 AddWorkItem(item); |
| 114 return item; | 119 return item; |
| 115 } | 120 } |
| 116 | 121 |
| 117 WorkItem* WorkItemList::AddCreateRegKeyWorkItem(HKEY predefined_root, | 122 WorkItem* WorkItemList::AddCreateRegKeyWorkItem( |
| 118 const std::wstring& path) { | 123 HKEY predefined_root, |
| 119 WorkItem* item = WorkItem::CreateCreateRegKeyWorkItem(predefined_root, path); | 124 const std::wstring& path, |
| 125 RegWow64ViewOption reg_wow64_option) { |
| 126 WorkItem* item = WorkItem::CreateCreateRegKeyWorkItem( |
| 127 predefined_root, |
| 128 path, |
| 129 reg_wow64_option); |
| 120 AddWorkItem(item); | 130 AddWorkItem(item); |
| 121 return item; | 131 return item; |
| 122 } | 132 } |
| 123 | 133 |
| 124 WorkItem* WorkItemList::AddDeleteRegKeyWorkItem(HKEY predefined_root, | 134 WorkItem* WorkItemList::AddDeleteRegKeyWorkItem( |
| 125 const std::wstring& path) { | 135 HKEY predefined_root, |
| 126 WorkItem* item = WorkItem::CreateDeleteRegKeyWorkItem(predefined_root, path); | 136 const std::wstring& path, |
| 137 RegWow64ViewOption reg_wow64_option) { |
| 138 WorkItem* item = WorkItem::CreateDeleteRegKeyWorkItem( |
| 139 predefined_root, |
| 140 path, |
| 141 reg_wow64_option); |
| 127 AddWorkItem(item); | 142 AddWorkItem(item); |
| 128 return item; | 143 return item; |
| 129 } | 144 } |
| 130 | 145 |
| 131 WorkItem* WorkItemList::AddDeleteRegValueWorkItem( | 146 WorkItem* WorkItemList::AddDeleteRegValueWorkItem( |
| 132 HKEY predefined_root, | 147 HKEY predefined_root, |
| 133 const std::wstring& key_path, | 148 const std::wstring& key_path, |
| 134 const std::wstring& value_name) { | 149 const std::wstring& value_name, |
| 135 WorkItem* item = WorkItem::CreateDeleteRegValueWorkItem(predefined_root, | 150 RegWow64ViewOption reg_wow64_option) { |
| 136 key_path, value_name); | 151 WorkItem* item = WorkItem::CreateDeleteRegValueWorkItem( |
| 152 predefined_root, |
| 153 key_path, |
| 154 value_name, |
| 155 reg_wow64_option); |
| 137 AddWorkItem(item); | 156 AddWorkItem(item); |
| 138 return item; | 157 return item; |
| 139 } | 158 } |
| 140 | 159 |
| 141 WorkItem* WorkItemList::AddDeleteTreeWorkItem( | 160 WorkItem* WorkItemList::AddDeleteTreeWorkItem( |
| 142 const base::FilePath& root_path, | 161 const base::FilePath& root_path, |
| 143 const base::FilePath& temp_path, | 162 const base::FilePath& temp_path, |
| 144 const std::vector<base::FilePath>& key_paths) { | 163 const std::vector<base::FilePath>& key_paths) { |
| 145 WorkItem* item = WorkItem::CreateDeleteTreeWorkItem(root_path, temp_path, | 164 WorkItem* item = WorkItem::CreateDeleteTreeWorkItem(root_path, temp_path, |
| 146 key_paths); | 165 key_paths); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 164 duplicate_option); | 183 duplicate_option); |
| 165 AddWorkItem(item); | 184 AddWorkItem(item); |
| 166 return item; | 185 return item; |
| 167 } | 186 } |
| 168 | 187 |
| 169 WorkItem* WorkItemList::AddSetRegValueWorkItem( | 188 WorkItem* WorkItemList::AddSetRegValueWorkItem( |
| 170 HKEY predefined_root, | 189 HKEY predefined_root, |
| 171 const std::wstring& key_path, | 190 const std::wstring& key_path, |
| 172 const std::wstring& value_name, | 191 const std::wstring& value_name, |
| 173 const std::wstring& value_data, | 192 const std::wstring& value_data, |
| 174 bool overwrite) { | 193 bool overwrite, |
| 194 RegWow64ViewOption reg_wow64_option) { |
| 175 WorkItem* item = WorkItem::CreateSetRegValueWorkItem(predefined_root, | 195 WorkItem* item = WorkItem::CreateSetRegValueWorkItem(predefined_root, |
| 176 key_path, | 196 key_path, |
| 177 value_name, | 197 value_name, |
| 178 value_data, | 198 value_data, |
| 179 overwrite); | 199 overwrite, |
| 200 reg_wow64_option); |
| 180 AddWorkItem(item); | 201 AddWorkItem(item); |
| 181 return item; | 202 return item; |
| 182 } | 203 } |
| 183 | 204 |
| 184 WorkItem* WorkItemList::AddSetRegValueWorkItem(HKEY predefined_root, | 205 WorkItem* WorkItemList::AddSetRegValueWorkItem( |
| 185 const std::wstring& key_path, | 206 HKEY predefined_root, |
| 186 const std::wstring& value_name, | 207 const std::wstring& key_path, |
| 187 DWORD value_data, | 208 const std::wstring& value_name, |
| 188 bool overwrite) { | 209 DWORD value_data, |
| 210 bool overwrite, |
| 211 RegWow64ViewOption reg_wow64_option) { |
| 189 WorkItem* item = WorkItem::CreateSetRegValueWorkItem(predefined_root, | 212 WorkItem* item = WorkItem::CreateSetRegValueWorkItem(predefined_root, |
| 190 key_path, | 213 key_path, |
| 191 value_name, | 214 value_name, |
| 192 value_data, | 215 value_data, |
| 193 overwrite); | 216 overwrite, |
| 217 reg_wow64_option); |
| 194 AddWorkItem(item); | 218 AddWorkItem(item); |
| 195 return item; | 219 return item; |
| 196 } | 220 } |
| 197 | 221 |
| 198 WorkItem* WorkItemList::AddSetRegValueWorkItem(HKEY predefined_root, | 222 WorkItem* WorkItemList::AddSetRegValueWorkItem( |
| 199 const std::wstring& key_path, | 223 HKEY predefined_root, |
| 200 const std::wstring& value_name, | 224 const std::wstring& key_path, |
| 201 int64 value_data, | 225 const std::wstring& value_name, |
| 202 bool overwrite) { | 226 int64 value_data, |
| 227 bool overwrite, |
| 228 RegWow64ViewOption reg_wow64_option) { |
| 203 WorkItem* item = reinterpret_cast<WorkItem*>( | 229 WorkItem* item = reinterpret_cast<WorkItem*>( |
| 204 WorkItem::CreateSetRegValueWorkItem(predefined_root, key_path, value_name, | 230 WorkItem::CreateSetRegValueWorkItem( |
| 205 value_data, overwrite)); | 231 predefined_root, key_path, value_name, |
| 232 value_data, overwrite, reg_wow64_option)); |
| 206 AddWorkItem(item); | 233 AddWorkItem(item); |
| 207 return item; | 234 return item; |
| 208 } | 235 } |
| 209 | 236 |
| 210 WorkItem* WorkItemList::AddSelfRegWorkItem(const std::wstring& dll_path, | 237 WorkItem* WorkItemList::AddSelfRegWorkItem(const std::wstring& dll_path, |
| 211 bool do_register, | 238 bool do_register, |
| 212 bool user_level_registration) { | 239 bool user_level_registration) { |
| 213 WorkItem* item = WorkItem::CreateSelfRegWorkItem(dll_path, do_register, | 240 WorkItem* item = WorkItem::CreateSelfRegWorkItem(dll_path, do_register, |
| 214 user_level_registration); | 241 user_level_registration); |
| 215 AddWorkItem(item); | 242 AddWorkItem(item); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 240 if (result) | 267 if (result) |
| 241 VLOG(1) << "NoRollbackWorkItemList: list execution succeeded"; | 268 VLOG(1) << "NoRollbackWorkItemList: list execution succeeded"; |
| 242 | 269 |
| 243 status_ = LIST_EXECUTED; | 270 status_ = LIST_EXECUTED; |
| 244 return result; | 271 return result; |
| 245 } | 272 } |
| 246 | 273 |
| 247 void NoRollbackWorkItemList::Rollback() { | 274 void NoRollbackWorkItemList::Rollback() { |
| 248 // Ignore rollback. | 275 // Ignore rollback. |
| 249 } | 276 } |
| OLD | NEW |