Chromium Code Reviews| 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 |