Index: chrome/installer/util/work_item_list.h |
diff --git a/chrome/installer/util/work_item_list.h b/chrome/installer/util/work_item_list.h |
index 983ad0c53fa1733447ed13aa5d107e291cd0ec99..07c749f4182d78f5d4c3206fdec1750a6fb0272f 100644 |
--- a/chrome/installer/util/work_item_list.h |
+++ b/chrome/installer/util/work_item_list.h |
@@ -28,13 +28,6 @@ class WorkItemList : public WorkItem { |
public: |
~WorkItemList() override; |
- // Execute the WorkItems in the same order as they are added to the list. |
- // It aborts as soon as one WorkItem fails. |
- bool Do() override; |
- |
- // Rollback the WorkItems in the reverse order as they are executed. |
- void Rollback() override; |
- |
// Add a WorkItem to the list. |
// A WorkItem can only be added to the list before the list's DO() is called. |
// Once a WorkItem is added to the list. The list owns the WorkItem. |
@@ -144,18 +137,16 @@ class WorkItemList : public WorkItem { |
typedef std::list<WorkItem*> WorkItems; |
typedef WorkItems::iterator WorkItemIterator; |
- enum ListStatus { |
- // List has not been executed. Ok to add new WorkItem. |
- ADD_ITEM, |
- // List has been executed. Can not add new WorkItem. |
- LIST_EXECUTED, |
- // List has been executed and rolled back. No further action is acceptable. |
- LIST_ROLLED_BACK |
- }; |
- |
WorkItemList(); |
- ListStatus status_; |
+ // WorkItem: |
+ |
+ // Execute the WorkItems in the same order as they are added to the list. It |
+ // aborts as soon as one WorkItem fails, unless the best-effort flag is true. |
+ bool DoImpl() override; |
+ |
+ // Rollback the WorkItems in the reverse order as they are executed. |
+ void RollbackImpl() override; |
// The list of WorkItems, in the order of them being added. |
WorkItems list_; |
@@ -173,13 +164,16 @@ class NoRollbackWorkItemList : public WorkItemList { |
public: |
~NoRollbackWorkItemList() override; |
+ private: |
+ // WorkItemList: |
+ |
// Execute the WorkItems in the same order as they are added to the list. |
// If a WorkItem fails, the function will return failure but all other |
// WorkItems will still be executed. |
- bool Do() override; |
+ bool DoImpl() override; |
// No-op. |
- void Rollback() override; |
+ void RollbackImpl() override; |
}; |
#endif // CHROME_INSTALLER_UTIL_WORK_ITEM_LIST_H_ |