Index: chrome/installer/util/delete_tree_work_item.h |
=================================================================== |
--- chrome/installer/util/delete_tree_work_item.h (revision 67902) |
+++ chrome/installer/util/delete_tree_work_item.h (working copy) |
@@ -9,6 +9,8 @@ |
#include <windows.h> |
#include <string> |
+#include <utility> |
+#include <vector> |
#include "base/file_path.h" |
#include "chrome/installer/util/work_item.h" |
@@ -29,26 +31,28 @@ |
private: |
friend class WorkItem; |
- // Get a backup path that can keep root_path_ or key_path_ |
+ // A list of key file paths and paths to a backup of a key file. |
+ // the 'first' member of the pair has the key file path, the 'second' has |
+ // the path to the backup. |
+ typedef std::vector<std::pair<FilePath, FilePath> > KeyFileList; |
+ |
+ // Get a backup path that can keep root_path_ or key_paths_ |
bool GetBackupPath(const FilePath& for_path, FilePath* backup_path); |
- DeleteTreeWorkItem(const std::wstring& root_path, |
- const std::wstring& key_path); |
+ DeleteTreeWorkItem(const FilePath& root_path, |
+ const std::vector<FilePath>& key_paths); |
// Root path to delete. |
FilePath root_path_; |
- // Path to the key file. If the key file is specified, deletion will be |
- // performed only if the key file is not in use. |
- FilePath key_path_; |
+ // Contains the path to key files and their backups once Do() has been called. |
+ // If key files are specified, deletion will be performed only if none of the |
+ // key files are in use. |
+ KeyFileList key_paths_; |
// The full path in temporary directory that the original root_path_ has |
// been moved to. |
FilePath backup_path_; |
- |
- // The full path in temporary directory that the original key_path_ has |
- // been moved to. |
- FilePath key_backup_path_; |
}; |
#endif // CHROME_INSTALLER_UTIL_DELETE_TREE_WORK_ITEM_H_ |