OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 CHROME_INSTALL_STATIC_INSTALL_DETAILS_H_ | 5 #ifndef CHROME_INSTALL_STATIC_INSTALL_DETAILS_H_ |
6 #define CHROME_INSTALL_STATIC_INSTALL_DETAILS_H_ | 6 #define CHROME_INSTALL_STATIC_INSTALL_DETAILS_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <string> | 9 #include <string> |
10 | 10 |
11 #include "chrome/install_static/install_constants.h" | 11 #include "chrome/install_static/install_constants.h" |
12 #include "chrome/install_static/install_modes.h" | 12 #include "chrome/install_static/install_modes.h" |
13 | 13 |
| 14 namespace version_info { |
| 15 enum class Channel; |
| 16 } |
| 17 |
14 namespace install_static { | 18 namespace install_static { |
15 | 19 |
16 class PrimaryInstallDetails; | 20 class PrimaryInstallDetails; |
17 class ScopedInstallDetails; | 21 class ScopedInstallDetails; |
18 | 22 |
19 // Details relating to how Chrome is installed. This class and | 23 // Details relating to how Chrome is installed. This class and |
20 // PrimaryInstallDetails (below) are used in tandem so that one instance of the | 24 // PrimaryInstallDetails (below) are used in tandem so that one instance of the |
21 // latter may be initialized early during process startup and then shared with | 25 // latter may be initialized early during process startup and then shared with |
22 // other modules in the process. For example, chrome_elf creates the instance | 26 // other modules in the process. For example, chrome_elf creates the instance |
23 // for a Chrome process and exports a GetInstallDetailsPayload function used by | 27 // for a Chrome process and exports a GetInstallDetailsPayload function used by |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 // installs. | 126 // installs. |
123 bool supported_multi_install() const { | 127 bool supported_multi_install() const { |
124 return payload_->mode->supported_multi_install; | 128 return payload_->mode->supported_multi_install; |
125 } | 129 } |
126 | 130 |
127 // Returns the resource id of this mode's main application icon. | 131 // Returns the resource id of this mode's main application icon. |
128 int32_t app_icon_resource_id() const { | 132 int32_t app_icon_resource_id() const { |
129 return payload_->mode->app_icon_resource_id; | 133 return payload_->mode->app_icon_resource_id; |
130 } | 134 } |
131 | 135 |
| 136 version_info::Channel GetChannel() const; |
| 137 |
132 // The install's update channel, or an empty string if the brand does not | 138 // The install's update channel, or an empty string if the brand does not |
133 // integrate with Google Update. | 139 // integrate with Google Update. |
134 std::wstring channel() const { | 140 std::wstring channel() const { |
135 return std::wstring(payload_->channel, payload_->channel_length); | 141 return std::wstring(payload_->channel, payload_->channel_length); |
136 } | 142 } |
137 | 143 |
138 // Returns the "ap" (additional parameters) value read from Chrome's | 144 // Returns the "ap" (additional parameters) value read from Chrome's |
139 // ClientState key during process startup. | 145 // ClientState key during process startup. |
140 std::wstring update_ap() const { | 146 std::wstring update_ap() const { |
141 return payload_->update_ap ? std::wstring(payload_->update_ap) | 147 return payload_->update_ap ? std::wstring(payload_->update_ap) |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 private: | 234 private: |
229 std::wstring channel_; | 235 std::wstring channel_; |
230 std::wstring update_ap_; | 236 std::wstring update_ap_; |
231 std::wstring update_cohort_name_; | 237 std::wstring update_cohort_name_; |
232 Payload payload_ = Payload(); | 238 Payload payload_ = Payload(); |
233 }; | 239 }; |
234 | 240 |
235 } // namespace install_static | 241 } // namespace install_static |
236 | 242 |
237 #endif // CHROME_INSTALL_STATIC_INSTALL_DETAILS_H_ | 243 #endif // CHROME_INSTALL_STATIC_INSTALL_DETAILS_H_ |
OLD | NEW |