OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef COMPONENTS_UPDATE_CLIENT_ACTION_UPDATE_H_ | 5 #ifndef COMPONENTS_UPDATE_CLIENT_ACTION_UPDATE_H_ |
6 #define COMPONENTS_UPDATE_CLIENT_ACTION_UPDATE_H_ | 6 #define COMPONENTS_UPDATE_CLIENT_ACTION_UPDATE_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "base/macros.h" | 13 #include "base/macros.h" |
14 #include "base/threading/thread_checker.h" | 14 #include "base/threading/thread_checker.h" |
15 #include "base/version.h" | 15 #include "base/version.h" |
16 #include "components/update_client/action.h" | 16 #include "components/update_client/action.h" |
17 #include "components/update_client/component_unpacker.h" | 17 #include "components/update_client/component_unpacker.h" |
18 #include "components/update_client/crx_downloader.h" | 18 #include "components/update_client/crx_downloader.h" |
19 #include "components/update_client/update_client.h" | 19 #include "components/update_client/update_client.h" |
20 #include "components/update_client/update_engine.h" | 20 #include "components/update_client/update_engine.h" |
21 #include "url/gurl.h" | 21 #include "url/gurl.h" |
22 | 22 |
23 namespace base { | 23 namespace base { |
24 class FilePath; | 24 class FilePath; |
25 } | 25 } |
26 | 26 |
27 namespace update_client { | 27 namespace update_client { |
28 | 28 |
29 class UpdateChecker; | |
30 enum class UnpackError; | 29 enum class UnpackError; |
31 | 30 |
32 // Defines a template method design pattern for ActionUpdate. This class | 31 // Defines a template method design pattern for ActionUpdate. This class |
33 // implements the common code for updating a single CRX using either | 32 // implements the common code for updating a single CRX using either |
34 // a differential or a full update algorithm. | 33 // a differential or a full update algorithm. |
35 // TODO(sorin): further refactor this class to enforce that there is a 1:1 | 34 // TODO(sorin): further refactor this class to enforce that there is a 1:1 |
36 // relationship between one instance of this class and one CRX id. In other | 35 // relationship between one instance of this class and one CRX id. In other |
37 // words, make the CRX id and its associated CrxUpdateItem data structure | 36 // words, make the CRX id and its associated CrxUpdateItem data structure |
38 // a member of this class instead of passing them around as function parameters. | 37 // a member of this class instead of passing them around as function parameters. |
39 class ActionUpdate : public Action, protected ActionImpl { | 38 class ActionUpdate : public Action, protected ActionImpl { |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 ErrorCategory error_category, | 158 ErrorCategory error_category, |
160 int error, | 159 int error, |
161 int extended_error) override; | 160 int extended_error) override; |
162 | 161 |
163 DISALLOW_COPY_AND_ASSIGN(ActionUpdateFull); | 162 DISALLOW_COPY_AND_ASSIGN(ActionUpdateFull); |
164 }; | 163 }; |
165 | 164 |
166 } // namespace update_client | 165 } // namespace update_client |
167 | 166 |
168 #endif // COMPONENTS_UPDATE_CLIENT_ACTION_UPDATE_H_ | 167 #endif // COMPONENTS_UPDATE_CLIENT_ACTION_UPDATE_H_ |
OLD | NEW |