OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 BASE_FILE_VERSION_INFO_WIN_H_ | 5 #ifndef BASE_FILE_VERSION_INFO_WIN_H_ |
6 #define BASE_FILE_VERSION_INFO_WIN_H_ | 6 #define BASE_FILE_VERSION_INFO_WIN_H_ |
7 | 7 |
8 #include <stdint.h> | |
9 | |
8 #include <memory> | 10 #include <memory> |
9 #include <string> | 11 #include <string> |
12 #include <vector> | |
10 | 13 |
11 #include "base/base_export.h" | 14 #include "base/base_export.h" |
12 #include "base/file_version_info.h" | 15 #include "base/file_version_info.h" |
13 #include "base/macros.h" | 16 #include "base/macros.h" |
14 #include "base/memory/free_deleter.h" | |
15 | 17 |
16 struct tagVS_FIXEDFILEINFO; | 18 struct tagVS_FIXEDFILEINFO; |
17 typedef tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO; | 19 typedef tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO; |
18 | 20 |
19 class BASE_EXPORT FileVersionInfoWin : public FileVersionInfo { | 21 class BASE_EXPORT FileVersionInfoWin : public FileVersionInfo { |
20 public: | 22 public: |
21 FileVersionInfoWin(void* data, WORD language, WORD code_page); | |
22 ~FileVersionInfoWin() override; | 23 ~FileVersionInfoWin() override; |
23 | 24 |
24 // Accessors to the different version properties. | 25 // Accessors to the different version properties. |
25 // Returns an empty string if the property is not found. | 26 // Returns an empty string if the property is not found. |
26 base::string16 company_name() override; | 27 base::string16 company_name() override; |
27 base::string16 company_short_name() override; | 28 base::string16 company_short_name() override; |
28 base::string16 product_name() override; | 29 base::string16 product_name() override; |
29 base::string16 product_short_name() override; | 30 base::string16 product_short_name() override; |
30 base::string16 internal_name() override; | 31 base::string16 internal_name() override; |
31 base::string16 product_version() override; | 32 base::string16 product_version() override; |
(...skipping 12 matching lines...) Expand all Loading... | |
44 bool GetValue(const wchar_t* name, std::wstring* value); | 45 bool GetValue(const wchar_t* name, std::wstring* value); |
45 | 46 |
46 // Similar to GetValue but returns a wstring (empty string if the property | 47 // Similar to GetValue but returns a wstring (empty string if the property |
47 // does not exist). | 48 // does not exist). |
48 std::wstring GetStringValue(const wchar_t* name); | 49 std::wstring GetStringValue(const wchar_t* name); |
49 | 50 |
50 // Get the fixed file info if it exists. Otherwise NULL | 51 // Get the fixed file info if it exists. Otherwise NULL |
51 VS_FIXEDFILEINFO* fixed_file_info() { return fixed_file_info_; } | 52 VS_FIXEDFILEINFO* fixed_file_info() { return fixed_file_info_; } |
52 | 53 |
53 private: | 54 private: |
54 std::unique_ptr<char, base::FreeDeleter> data_; | 55 friend FileVersionInfo; |
55 WORD language_; | 56 |
56 WORD code_page_; | 57 // |data| is a VS_VERSION_INFO resource. |language| and |code_page| are |
57 // This is a pointer into the data_ if it exists. Otherwise NULL. | 58 // extracted from the \VarFileInfo\Translation value of |data|. |
58 VS_FIXEDFILEINFO* fixed_file_info_; | 59 FileVersionInfoWin(std::vector<uint8_t> data, WORD language, WORD code_page); |
60 FileVersionInfoWin(void* data, WORD language, WORD code_page); | |
61 | |
62 const void* const data_; | |
63 std::vector<uint8_t> owned_data_; | |
grt (UTC plus 2)
2016/06/17 20:34:59
const
fdoray
2016/06/20 14:06:41
Doesn't work
https://codereview.chromium.org/20465
| |
64 const WORD language_; | |
65 const WORD code_page_; | |
66 | |
67 // This is a pointer into the data_ if it exists. Otherwise nullptr. | |
68 VS_FIXEDFILEINFO* fixed_file_info_ = nullptr; | |
59 | 69 |
60 DISALLOW_COPY_AND_ASSIGN(FileVersionInfoWin); | 70 DISALLOW_COPY_AND_ASSIGN(FileVersionInfoWin); |
61 }; | 71 }; |
62 | 72 |
63 #endif // BASE_FILE_VERSION_INFO_WIN_H_ | 73 #endif // BASE_FILE_VERSION_INFO_WIN_H_ |
OLD | NEW |