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..488fb7375ebdf4a848b7c9ef3799ee99b36d9dc0 |
--- /dev/null |
+++ b/chromecast/public/cast_sys_info.h |
@@ -0,0 +1,64 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
gunsch
2015/04/20 18:02:31
while you're here, can you add a chromecast/public
derekjchow1
2015/04/20 21:15:32
Done. It'd be better if we could specify that file
|
+// 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 informations are |
halliwell
2015/04/20 18:12:18
I don't think "informations" is a word :)
derekjchow1
2015/04/20 21:15:32
Done.
|
+// immutable except FDR count which must be persistent against factory reset. |
+class CastSysInfo { |
+ public: |
+ enum BuildType { |
+ BUILD_ENG, |
+ BUILD_BETA, |
+ BUILD_PRODUCTION, |
+ }; |
+ |
+ static CastSysInfo* Create(); |
byungchul
2015/04/20 18:00:24
scoped_ptr<CastSysInfo>
gunsch
2015/04/20 18:02:31
No. scoped_ptr is a Chromium dependency. Leave as-
byungchul
2015/04/20 18:10:19
Hmm.. Unless we want to make all CastSysInfo in sh
gunsch
2015/04/20 18:11:49
I'm fine if we want to put a convenience function
derekjchow1
2015/04/20 21:15:32
Done. Moved to base/cast_sys_info.h and renamed Cr
|
+ |
+ virtual ~CastSysInfo() {} |
+ |
+ virtual void Initialize() = 0; |
+ virtual void Finalize() = 0; |
halliwell
2015/04/20 18:12:18
What do Initialize/Finalize do? Seems like a hold
derekjchow1
2015/04/20 21:15:32
Our Android code uses it to do some Java initializ
halliwell
2015/04/20 21:19:43
Ok. So what are the rules for client using this c
derekjchow1
2015/04/20 22:10:52
This is only relevant for ATV, but for correctness
halliwell
2015/04/20 22:22:11
Ok, but if that's all there is to it, we could jus
gunsch
2015/04/20 22:34:49
I believe there may actually be more to it. Byungc
byungchul
2015/04/20 23:51:14
When it was instantiated in chromecast service cli
derekjchow1
2015/04/21 21:48:33
Removed.
|
+ |
+ // Returns the system build type. |
+ virtual BuildType GetBuildType() = 0; |
+ // Returns release channel of system. |
+ virtual const std::string GetSystemReleaseChannel() = 0; |
+ // Returns serial number of the device. |
+ virtual const std::string GetSerialNumber() = 0; |
+ // Returns product code name of the device (eg: anchovy, salami, fugu, ...). |
+ virtual const std::string GetProductName() = 0; |
+ // Returns model name of device (eg: Chromecast, Nexus Player, ...). |
+ virtual const std::string GetDeviceModel() = 0; |
+ // Returns the board's name (eg: bg2proto, eureka-b1, ...). |
+ virtual const std::string GetBoardName() = 0; |
+ // Returns the revision of board (eg: 514, ...). |
+ virtual const std::string GetBoardRevision() = 0; |
+ // Returns device manufacturer (eg: Google, Sony, ...). |
+ virtual const 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 const std::string GetSystemBuildNumber() = 0; |
+ |
+ // Returns default country and locale baked from the factory. |
+ virtual const std::string GetFactoryCountry() = 0; |
+ virtual const std::string GetFactoryLocale(std::string* second_locale) = 0; |
+ |
+ // Returns the wifi interface. |
+ virtual const std::string GetWifiInterface() = 0; |
+ // Returns the soft AP interface. |
+ virtual const std::string GetApInterface() = 0; |
+}; |
+ |
+} // namespace chromecast |
+ |
+#endif // CHROMECAST_PUBLIC_CAST_SYS_INFO_H_ |