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 COMPONENTS_METRICS_TEST_METRICS_SERVICE_CLIENT_H_ 6 #define COMPONENTS_METRICS_TEST_METRICS_SERVICE_CLIENT_H_ 7 8 #include <string> 9 10 #include "components/metrics/metrics_service_client.h" 11 12 namespace metrics { 13 14 // A simple concrete implementation of the MetricsServiceClient interface, for 15 // use in tests. 16 class TestMetricsServiceClient : public MetricsServiceClient { 17 public: 18 static const char kBrandForTesting[]; 19 20 TestMetricsServiceClient(); 21 virtual ~TestMetricsServiceClient(); 22 23 // MetricsServiceClient: 24 virtual void SetMetricsClientId(const std::string& client_id) OVERRIDE; 25 virtual bool IsOffTheRecordSessionActive() OVERRIDE; 26 virtual std::string GetApplicationLocale() OVERRIDE; 27 virtual bool GetBrand(std::string* brand_code) OVERRIDE; 28 virtual SystemProfileProto::Channel GetChannel() OVERRIDE; 29 virtual std::string GetVersionString() OVERRIDE; 30 virtual void OnLogUploadComplete() OVERRIDE; 31 virtual void StartGatheringMetrics( 32 const base::Closure& done_callback) OVERRIDE; 33 virtual void CollectFinalMetrics(const base::Closure& done_callback) 34 OVERRIDE; 35 virtual scoped_ptr<MetricsLogUploader> CreateUploader( 36 const std::string& server_url, 37 const std::string& mime_type, 38 const base::Callback<void(int)>& on_upload_complete) OVERRIDE; 39 get_client_id()40 const std::string& get_client_id() const { return client_id_; } set_version_string(const std::string & str)41 void set_version_string(const std::string& str) { version_string_ = str; } 42 43 private: 44 std::string client_id_; 45 std::string version_string_; 46 47 DISALLOW_COPY_AND_ASSIGN(TestMetricsServiceClient); 48 }; 49 50 } // namespace metrics 51 52 #endif // COMPONENTS_METRICS_TEST_METRICS_SERVICE_CLIENT_H_ 53