blob: abc43cce0cdf19ca477b240d92c1677f7724b0e5 [file] [log] [blame]
holte6e36a3d2017-02-02 22:41:101// Copyright 2017 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_LOG_UPLOADER_H_
6#define COMPONENTS_METRICS_TEST_METRICS_LOG_UPLOADER_H_
7
8#include "components/metrics/metrics_log_uploader.h"
9
10namespace metrics {
11
12class TestMetricsLogUploader : public MetricsLogUploader {
13 public:
holte4ae63f52017-03-08 00:25:0814 explicit TestMetricsLogUploader(
15 const base::Callback<void(int)>& on_upload_complete);
holte6e36a3d2017-02-02 22:41:1016 ~TestMetricsLogUploader() override;
17
18 // Mark the current upload complete with the given response code.
19 void CompleteUpload(int response_code);
20
21 // Check if UploadLog has been called.
22 bool is_uploading() const { return is_uploading_; }
23
24 private:
25 // MetricsLogUploader:
26 void UploadLog(const std::string& compressed_log_data,
27 const std::string& log_hash) override;
28
holte4ae63f52017-03-08 00:25:0829 const base::Callback<void(int)> on_upload_complete_;
holte6e36a3d2017-02-02 22:41:1030 bool is_uploading_;
31
32 DISALLOW_COPY_AND_ASSIGN(TestMetricsLogUploader);
33};
34
35} // namespace metrics
36
37#endif // COMPONENTS_METRICS_TEST_METRICS_LOG_UPLOADER_H_