Add ICU message format support
[chromium-blink-merge.git] / chromecast / public / cast_sys_info.h
blob6297f5b3e2e4d50796a45584caf4898708963921
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
3 // found in the LICENSE file.
5 #ifndef CHROMECAST_PUBLIC_CAST_SYS_INFO_H_
6 #define CHROMECAST_PUBLIC_CAST_SYS_INFO_H_
8 #include <string>
9 #include <vector>
11 namespace chromecast {
13 // Pure abstract interface for system information which is accessed by other
14 // processes as well as cast_shell browser process. All information should be
15 // immutable.
16 // It should be possible to instantiate multiple instances of CastSysInfo and
17 // should be able to be instantiated at any point in the startup process. Other
18 // processes must be able to create an instance of CastSysInfo.
19 class CastSysInfo {
20 public:
21 enum BuildType {
22 BUILD_ENG,
23 BUILD_BETA,
24 BUILD_PRODUCTION,
27 virtual ~CastSysInfo() {}
29 // Returns the system build type.
30 virtual BuildType GetBuildType() = 0;
31 // Returns release channel of system.
32 virtual std::string GetSystemReleaseChannel() = 0;
33 // Returns serial number of the device.
34 virtual std::string GetSerialNumber() = 0;
35 // Returns product code name of the device.
36 virtual std::string GetProductName() = 0;
37 // Returns model name of device (eg: Chromecast, Nexus Player, ...).
38 virtual std::string GetDeviceModel() = 0;
39 // Returns the board's name.
40 virtual std::string GetBoardName() = 0;
41 // Returns the revision of board (eg: 514, ...).
42 virtual std::string GetBoardRevision() = 0;
43 // Returns device manufacturer (eg: Google, ...).
44 virtual std::string GetManufacturer() = 0;
45 // Returns the system's build number (eg: 100, 20000 ...).
46 // This describes system version which may be different with
47 // CAST_BUILD_NUMBER.
48 virtual std::string GetSystemBuildNumber() = 0;
50 // Returns default country and locale baked from the factory.
51 virtual std::string GetFactoryCountry() = 0;
52 virtual std::string GetFactoryLocale(std::string* second_locale) = 0;
54 // Returns the name of the wifi interface used to connect to the internet.
55 virtual std::string GetWifiInterface() = 0;
56 // Returns the name of the software AP interface.
57 virtual std::string GetApInterface() = 0;
59 // Returns the GL_VENDOR string of GPU driver. Must match the value that would
60 // be obtained from a GL context, but implementations must *not* create a GL
61 // context.
62 virtual std::string GetGlVendor() = 0;
63 // Returns the GL_RENDERER string of GPU driver. Must match the value that
64 // would be obtained from a GL context, but implementations must *not* create
65 // a GL context.
66 virtual std::string GetGlRenderer() = 0;
67 // Returns the GL_VERSION string of GPU driver. Must match the value that
68 // would be obtained from a GL context, but implementations must *not* create
69 // a GL context.
70 virtual std::string GetGlVersion() = 0;
73 } // namespace chromecast
75 #endif // CHROMECAST_PUBLIC_CAST_SYS_INFO_H_