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. 4 5 #ifndef CHROMECAST_BASE_CAST_SYS_INFO_ANDROID_H_ 6 #define CHROMECAST_BASE_CAST_SYS_INFO_ANDROID_H_ 7 8 #include <jni.h> 9 #include <vector> 10 11 #include "base/macros.h" 12 #include "chromecast/public/cast_sys_info.h" 13 14 namespace base { 15 namespace android { 16 class BuildInfo; 17 } 18 } 19 20 namespace chromecast { 21 22 class CastSysInfoAndroid : public CastSysInfo { 23 public: 24 CastSysInfoAndroid(); 25 ~CastSysInfoAndroid() override; 26 27 // CastSysInfo implementation: 28 BuildType GetBuildType() override; 29 std::string GetSerialNumber() override; 30 std::string GetProductName() override; 31 std::string GetDeviceModel() override; 32 std::string GetManufacturer() override; 33 std::string GetSystemBuildNumber() override; 34 std::string GetSystemReleaseChannel() override; 35 std::string GetBoardName() override; 36 std::string GetBoardRevision() override; 37 std::string GetFactoryCountry() override; 38 std::vector<std::string> GetFactoryLocaleList() override; 39 std::string GetWifiInterface() override; 40 std::string GetApInterface() override; 41 42 private: 43 const base::android::BuildInfo* const build_info_; 44 45 DISALLOW_COPY_AND_ASSIGN(CastSysInfoAndroid); 46 }; 47 48 } // namespace chromecast 49 50 #endif // CHROMECAST_BASE_CAST_SYS_INFO_ANDROID_H_ 51