Home | History | Annotate | Download | only in metrics
      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 
     40   const std::string& get_client_id() const { return client_id_; }
     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