1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_COMPONENT_UPDATER_COMPONENT_PATCHER_OPERATION_OUT_OF_PROCESS_H_
6 #define CHROME_BROWSER_COMPONENT_UPDATER_COMPONENT_PATCHER_OPERATION_OUT_OF_PROCESS_H_
10 #include "base/callback_forward.h"
11 #include "base/macros.h"
12 #include "base/memory/ref_counted.h"
13 #include "components/update_client/component_patcher_operation.h"
17 class SequencedTaskRunner
;
20 namespace component_updater
{
24 // Implements the DeltaUpdateOpPatch out-of-process patching.
25 class ChromeOutOfProcessPatcher
: public update_client::OutOfProcessPatcher
{
27 ChromeOutOfProcessPatcher();
29 // DeltaUpdateOpPatch::OutOfProcessPatcher implementation.
30 void Patch(const std::string
& operation
,
31 scoped_refptr
<base::SequencedTaskRunner
> task_runner
,
32 const base::FilePath
& input_abs_path
,
33 const base::FilePath
& patch_abs_path
,
34 const base::FilePath
& output_abs_path
,
35 base::Callback
<void(int result
)> callback
) override
;
38 ~ChromeOutOfProcessPatcher() override
;
40 scoped_refptr
<PatchHost
> host_
;
42 DISALLOW_COPY_AND_ASSIGN(ChromeOutOfProcessPatcher
);
45 } // namespace component_updater
47 #endif // CHROME_BROWSER_COMPONENT_UPDATER_COMPONENT_PATCHER_OPERATION_OUT_OF_PROCESS_H_