// components/metrics/public/mojom/histogram_fetcher.mojom-test-utils.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_METRICS_PUBLIC_MOJOM_HISTOGRAM_FETCHER_MOJOM_TEST_UTILS_H_
#define COMPONENTS_METRICS_PUBLIC_MOJOM_HISTOGRAM_FETCHER_MOJOM_TEST_UTILS_H_

#include "components/metrics/public/mojom/histogram_fetcher.mojom.h"


namespace metrics::mojom {


class  ChildHistogramFetcherFactoryInterceptorForTesting : public ChildHistogramFetcherFactory {
  virtual ChildHistogramFetcherFactory* GetForwardingInterface() = 0;
  void CreateFetcher(::base::UnsafeSharedMemoryRegion shared_memory, ::mojo::PendingReceiver<ChildHistogramFetcher> child_histogram_fetcher) override;
};
class  ChildHistogramFetcherFactoryAsyncWaiter {
 public:
  explicit ChildHistogramFetcherFactoryAsyncWaiter(ChildHistogramFetcherFactory* proxy);

  ChildHistogramFetcherFactoryAsyncWaiter(const ChildHistogramFetcherFactoryAsyncWaiter&) = delete;
  ChildHistogramFetcherFactoryAsyncWaiter& operator=(const ChildHistogramFetcherFactoryAsyncWaiter&) = delete;

  ~ChildHistogramFetcherFactoryAsyncWaiter();

 private:
  ChildHistogramFetcherFactory* const proxy_;
};


class  ChildHistogramFetcherInterceptorForTesting : public ChildHistogramFetcher {
  virtual ChildHistogramFetcher* GetForwardingInterface() = 0;
  void GetChildNonPersistentHistogramData(GetChildNonPersistentHistogramDataCallback callback) override;
  void Ping(UmaPingCallSource call_source, PingCallback callback) override;
};
class  ChildHistogramFetcherAsyncWaiter {
 public:
  explicit ChildHistogramFetcherAsyncWaiter(ChildHistogramFetcher* proxy);

  ChildHistogramFetcherAsyncWaiter(const ChildHistogramFetcherAsyncWaiter&) = delete;
  ChildHistogramFetcherAsyncWaiter& operator=(const ChildHistogramFetcherAsyncWaiter&) = delete;

  ~ChildHistogramFetcherAsyncWaiter();
  void GetChildNonPersistentHistogramData(
      std::vector<std::string>* out_deltas);
  std::vector<std::string> GetChildNonPersistentHistogramData();
  void Ping(
      UmaPingCallSource call_source);
  

 private:
  ChildHistogramFetcher* const proxy_;
};




}  // metrics::mojom

#endif  // COMPONENTS_METRICS_PUBLIC_MOJOM_HISTOGRAM_FETCHER_MOJOM_TEST_UTILS_H_