Index: chromecast/public/cast_sys_info.h |
diff --git a/chromecast/public/cast_sys_info.h b/chromecast/public/cast_sys_info.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..95d1da6e664f0e7cb50e79d8c498537fe1be7dd0 |
--- /dev/null |
+++ b/chromecast/public/cast_sys_info.h |
@@ -0,0 +1,62 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROMECAST_PUBLIC_CAST_SYS_INFO_H_ |
+#define CHROMECAST_PUBLIC_CAST_SYS_INFO_H_ |
+ |
+#include <string> |
+#include <vector> |
+ |
+namespace chromecast { |
+ |
+// Pure abstract interface for system information which is accessed by other |
+// processes as well as cast_shell browser process. All information should be |
+// immutable. |
+// It should be possible to instantiate multiple instances of CastSysInfo and |
+// should be able to be instantiated at any point in the startup process. Other |
+// processes must be able to create an instance of CastSysInfo. |
+class CastSysInfo { |
+ public: |
+ enum BuildType { |
+ BUILD_ENG, |
+ BUILD_BETA, |
+ BUILD_PRODUCTION, |
+ }; |
+ |
+ virtual ~CastSysInfo() {} |
+ |
+ // Returns the system build type. |
+ virtual BuildType GetBuildType() = 0; |
+ // Returns release channel of system. |
+ virtual std::string GetSystemReleaseChannel() = 0; |
+ // Returns serial number of the device. |
+ virtual std::string GetSerialNumber() = 0; |
+ // Returns product code name of the device. |
+ virtual std::string GetProductName() = 0; |
+ // Returns model name of device (eg: Chromecast, Nexus Player, ...). |
+ virtual std::string GetDeviceModel() = 0; |
+ // Returns the board's name. |
+ virtual std::string GetBoardName() = 0; |
+ // Returns the revision of board (eg: 514, ...). |
+ virtual std::string GetBoardRevision() = 0; |
+ // Returns device manufacturer (eg: Google, ...). |
+ virtual std::string GetManufacturer() = 0; |
+ // Returns the system's build number (eg: 100, 20000 ...). |
+ // This describes system version which may be different with |
+ // CAST_BUILD_NUMBER. |
+ virtual std::string GetSystemBuildNumber() = 0; |
+ |
+ // Returns default country and locale baked from the factory. |
+ virtual std::string GetFactoryCountry() = 0; |
+ virtual std::string GetFactoryLocale(std::string* second_locale) = 0; |
+ |
+ // Returns the name of the wifi interface used to connect to the internet. |
+ virtual std::string GetWifiInterface() = 0; |
+ // Returns the name of the software AP interface. |
+ virtual std::string GetApInterface() = 0; |
+}; |
+ |
+} // namespace chromecast |
+ |
+#endif // CHROMECAST_PUBLIC_CAST_SYS_INFO_H_ |