summaryrefslogtreecommitdiffstats
path: root/chrome/installer/util/work_item.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/installer/util/work_item.cc')
-rw-r--r--chrome/installer/util/work_item.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/chrome/installer/util/work_item.cc b/chrome/installer/util/work_item.cc
index 57313f6..d646051 100644
--- a/chrome/installer/util/work_item.cc
+++ b/chrome/installer/util/work_item.cc
@@ -4,17 +4,19 @@
#include "chrome/installer/util/work_item.h"
+#include "chrome/installer/util/conditional_work_item_list.h"
#include "chrome/installer/util/copy_tree_work_item.h"
#include "chrome/installer/util/create_dir_work_item.h"
#include "chrome/installer/util/create_reg_key_work_item.h"
#include "chrome/installer/util/delete_tree_work_item.h"
+#include "chrome/installer/util/delete_reg_key_work_item.h"
#include "chrome/installer/util/delete_reg_value_work_item.h"
#include "chrome/installer/util/move_tree_work_item.h"
#include "chrome/installer/util/self_reg_work_item.h"
#include "chrome/installer/util/set_reg_value_work_item.h"
#include "chrome/installer/util/work_item_list.h"
-WorkItem::WorkItem() {
+WorkItem::WorkItem() : ignore_failure_(false) {
}
WorkItem::~WorkItem() {
@@ -39,6 +41,11 @@ CreateRegKeyWorkItem* WorkItem::CreateCreateRegKeyWorkItem(
return new CreateRegKeyWorkItem(predefined_root, path);
}
+DeleteRegKeyWorkItem* WorkItem::CreateDeleteRegKeyWorkItem(
+ HKEY predefined_root, const std::wstring& path) {
+ return new DeleteRegKeyWorkItem(predefined_root, path);
+}
+
DeleteRegValueWorkItem* WorkItem::CreateDeleteRegValueWorkItem(
HKEY predefined_root,
const std::wstring& key_path,
@@ -93,3 +100,7 @@ WorkItemList* WorkItem::CreateWorkItemList() {
WorkItemList* WorkItem::CreateNoRollbackWorkItemList() {
return new NoRollbackWorkItemList();
}
+
+WorkItemList* WorkItem::CreateConditionalWorkItemList(Condition* condition) {
+ return new ConditionalWorkItemList(condition);
+}