OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 // A helper class for updating resources in portable executable files. | 5 // A helper class for updating resources in portable executable files. |
6 | 6 |
7 #ifndef CHROME_INSTALLER_TEST_RESOURCE_UPDATER_H_ | 7 #ifndef CHROME_INSTALLER_TEST_RESOURCE_UPDATER_H_ |
8 #define CHROME_INSTALLER_TEST_RESOURCE_UPDATER_H_ | 8 #define CHROME_INSTALLER_TEST_RESOURCE_UPDATER_H_ |
9 | 9 |
10 #include <windows.h> | 10 #include <windows.h> |
11 | 11 |
12 #include <string> | 12 #include <string> |
13 #include <utility> | 13 #include <utility> |
14 | 14 |
15 #include "base/basictypes.h" | 15 #include "base/macros.h" |
16 | 16 |
17 namespace base { | 17 namespace base { |
18 class FilePath; | 18 class FilePath; |
19 } | 19 } |
20 | 20 |
21 namespace upgrade_test { | 21 namespace upgrade_test { |
22 | 22 |
23 // Updates resources in a PE image file. | 23 // Updates resources in a PE image file. |
24 class ResourceUpdater { | 24 class ResourceUpdater { |
25 public: | 25 public: |
26 ResourceUpdater(); | 26 ResourceUpdater(); |
27 ~ResourceUpdater(); | 27 ~ResourceUpdater(); |
28 | 28 |
29 // Loads |pe_image_path| in preparation for updating its resources. | 29 // Loads |pe_image_path| in preparation for updating its resources. |
30 bool Initialize(const base::FilePath& pe_image_path); | 30 bool Initialize(const base::FilePath& pe_image_path); |
31 | 31 |
32 // Replaces the contents of the resource |name| of |type| and |language_id| | 32 // Replaces the contents of the resource |name| of |type| and |language_id| |
33 // with the contents of |input_file|, returning true on success. | 33 // with the contents of |input_file|, returning true on success. |
34 bool Update(const std::wstring& name, const std::wstring& type, | 34 bool Update(const std::wstring& name, const std::wstring& type, |
35 WORD language_id, const base::FilePath& input_file); | 35 WORD language_id, const base::FilePath& input_file); |
36 | 36 |
37 // Commits all updates to the file on disk. | 37 // Commits all updates to the file on disk. |
38 bool Commit(); | 38 bool Commit(); |
39 | 39 |
40 private: | 40 private: |
41 HANDLE handle_; | 41 HANDLE handle_; |
| 42 |
42 DISALLOW_COPY_AND_ASSIGN(ResourceUpdater); | 43 DISALLOW_COPY_AND_ASSIGN(ResourceUpdater); |
43 }; // class ResourceUpdater | 44 }; // class ResourceUpdater |
44 | 45 |
45 } // namespace upgrade_test | 46 } // namespace upgrade_test |
46 | 47 |
47 #endif // CHROME_INSTALLER_TEST_RESOURCE_UPDATER_H_ | 48 #endif // CHROME_INSTALLER_TEST_RESOURCE_UPDATER_H_ |
OLD | NEW |