1 // Copyright 2014 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_METRICS_PLATFORM_METRICS_PROVIDERS_H_ 6 #define CHROMECAST_METRICS_PLATFORM_METRICS_PROVIDERS_H_ 7 8 #include "components/metrics/proto/system_profile.pb.h" 9 10 namespace metrics { 11 class MetricsService; 12 } 13 14 namespace chromecast { 15 namespace metrics { 16 17 // Build-level hook for different platforms to provide data to MetricsService. 18 void RegisterPlatformMetricsProviders( 19 ::metrics::MetricsService* metrics_service); 20 21 // Returns the current release channel. 22 ::metrics::SystemProfileProto::Channel GetPlatformReleaseChannel(); 23 24 // Returns a string representing this build's version. 25 std::string GetPlatformVersionString(); 26 27 // Returns whether or not metrics reporting should be on. 28 bool PlatformIsReportingEnabled(); 29 30 // Called when the UMA client ID has been set. 31 void PlatformSetClientID(const std::string& client_id); 32 33 // Called when an upload has completed. 34 void PlatformOnLogUploadComplete(); 35 36 } // namespace metrics 37 } // namespace chromecast 38 39 #endif // CHROMECAST_METRICS_PLATFORM_METRICS_PROVIDERS_H_ 40