Index: trunk/src/chrome/browser/component_updater/component_patcher_operation.h |
=================================================================== |
--- trunk/src/chrome/browser/component_updater/component_patcher_operation.h (revision 207822) |
+++ trunk/src/chrome/browser/component_updater/component_patcher_operation.h (working copy) |
@@ -1,158 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_BROWSER_COMPONENT_UPDATER_COMPONENT_PATCHER_OPERATION_H_ |
-#define CHROME_BROWSER_COMPONENT_UPDATER_COMPONENT_PATCHER_OPERATION_H_ |
- |
-#include <string> |
-#include "base/basictypes.h" |
-#include "base/compiler_specific.h" |
-#include "chrome/browser/component_updater/component_unpacker.h" |
- |
-namespace base { |
- |
-class FilePath; |
-class DictionaryValue; |
- |
-} // namespace base |
- |
-class ComponentInstaller; |
-class ComponentPatcher; |
- |
-class DeltaUpdateOp { |
- public: |
- |
- DeltaUpdateOp(); |
- virtual ~DeltaUpdateOp(); |
- |
- // Parses, runs, and verifies the operation, returning an error code if an |
- // error is encountered, and DELTA_OK otherwise. In case of errors, |
- // extended error information can be returned in the |error| parameter. |
- ComponentUnpacker::Error Run( |
- base::DictionaryValue* command_args, |
- const base::FilePath& input_dir, |
- const base::FilePath& unpack_dir, |
- ComponentPatcher* patcher, |
- ComponentInstaller* installer, |
- int* error); |
- |
- protected: |
- std::string output_sha256_; |
- base::FilePath output_abs_path_; |
- |
- private: |
- ComponentUnpacker::Error CheckHash(); |
- |
- // Subclasses must override DoParseArguments to parse operation-specific |
- // arguments. DoParseArguments returns DELTA_OK on success; any other code |
- // represents failure. |
- virtual ComponentUnpacker::Error DoParseArguments( |
- base::DictionaryValue* command_args, |
- const base::FilePath& input_dir, |
- ComponentInstaller* installer) = 0; |
- |
- // Subclasses must override DoRun to actually perform the patching operation. |
- // DoRun returns DELTA_OK on success; any other code represents failure. |
- // Additional error information can be returned in the |error| parameter. |
- virtual ComponentUnpacker::Error DoRun(ComponentPatcher* patcher, |
- int* error) = 0; |
- |
- DISALLOW_COPY_AND_ASSIGN(DeltaUpdateOp); |
-}; |
- |
-// A 'copy' operation takes a file currently residing on the disk and moves it |
-// into the unpacking directory: this represents "no change" in the file being |
-// installed. |
-class DeltaUpdateOpCopy : public DeltaUpdateOp { |
- public: |
- DeltaUpdateOpCopy(); |
- |
- private: |
- // Overrides of DeltaUpdateOp. |
- virtual ComponentUnpacker::Error DoParseArguments( |
- base::DictionaryValue* command_args, |
- const base::FilePath& input_dir, |
- ComponentInstaller* installer) OVERRIDE; |
- |
- virtual ComponentUnpacker::Error DoRun(ComponentPatcher* patcher, |
- int* error) OVERRIDE; |
- |
- base::FilePath input_abs_path_; |
- |
- DISALLOW_COPY_AND_ASSIGN(DeltaUpdateOpCopy); |
-}; |
- |
-// A 'create' operation takes a full file that was sent in the delta update |
-// archive and moves it into the unpacking directory: this represents the |
-// addition of a new file, or a file so different that no bandwidth could be |
-// saved by transmitting a differential update. |
-class DeltaUpdateOpCreate : public DeltaUpdateOp { |
- public: |
- DeltaUpdateOpCreate(); |
- |
- private: |
- // Overrides of DeltaUpdateOp. |
- virtual ComponentUnpacker::Error DoParseArguments( |
- base::DictionaryValue* command_args, |
- const base::FilePath& input_dir, |
- ComponentInstaller* installer) OVERRIDE; |
- |
- virtual ComponentUnpacker::Error DoRun(ComponentPatcher* patcher, |
- int* error) OVERRIDE; |
- |
- base::FilePath patch_abs_path_; |
- |
- DISALLOW_COPY_AND_ASSIGN(DeltaUpdateOpCreate); |
-}; |
- |
-// A 'bsdiff' operation takes an existing file on disk, and a bsdiff- |
-// format patch file provided in the delta update package, and runs bsdiff |
-// to construct an output file in the unpacking directory. |
-class DeltaUpdateOpPatchBsdiff : public DeltaUpdateOp { |
- public: |
- DeltaUpdateOpPatchBsdiff(); |
- |
- private: |
- // Overrides of DeltaUpdateOp. |
- virtual ComponentUnpacker::Error DoParseArguments( |
- base::DictionaryValue* command_args, |
- const base::FilePath& input_dir, |
- ComponentInstaller* installer) OVERRIDE; |
- |
- virtual ComponentUnpacker::Error DoRun(ComponentPatcher* patcher, |
- int* error) OVERRIDE; |
- |
- base::FilePath patch_abs_path_; |
- base::FilePath input_abs_path_; |
- |
- DISALLOW_COPY_AND_ASSIGN(DeltaUpdateOpPatchBsdiff); |
-}; |
- |
-// A 'courgette' operation takes an existing file on disk, and a Courgette- |
-// format patch file provided in the delta update package, and runs Courgette |
-// to construct an output file in the unpacking directory. |
-class DeltaUpdateOpPatchCourgette : public DeltaUpdateOp { |
- public: |
- DeltaUpdateOpPatchCourgette(); |
- |
- private: |
- // Overrides of DeltaUpdateOp. |
- virtual ComponentUnpacker::Error DoParseArguments( |
- base::DictionaryValue* command_args, |
- const base::FilePath& input_dir, |
- ComponentInstaller* installer) OVERRIDE; |
- |
- virtual ComponentUnpacker::Error DoRun(ComponentPatcher* patcher, |
- int* error) OVERRIDE; |
- |
- base::FilePath patch_abs_path_; |
- base::FilePath input_abs_path_; |
- |
- DISALLOW_COPY_AND_ASSIGN(DeltaUpdateOpPatchCourgette); |
-}; |
- |
-// Factory function to create DeltaUpdateOp instances. |
-DeltaUpdateOp* CreateDeltaUpdateOp(base::DictionaryValue* command); |
- |
-#endif // CHROME_BROWSER_COMPONENT_UPDATER_COMPONENT_PATCHER_OPERATION_H_ |