// services/tracing/public/mojom/system_tracing_service.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 SERVICES_TRACING_PUBLIC_MOJOM_SYSTEM_TRACING_SERVICE_MOJOM_TEST_UTILS_H_
#define SERVICES_TRACING_PUBLIC_MOJOM_SYSTEM_TRACING_SERVICE_MOJOM_TEST_UTILS_H_

#include "services/tracing/public/mojom/system_tracing_service.mojom.h"
#include "base/component_export.h"


namespace tracing::mojom {


class COMPONENT_EXPORT(TRACING_MOJOM) SystemTracingServiceInterceptorForTesting : public SystemTracingService {
  virtual SystemTracingService* GetForwardingInterface() = 0;
  void OpenProducerSocket(OpenProducerSocketCallback callback) override;
};
class COMPONENT_EXPORT(TRACING_MOJOM) SystemTracingServiceAsyncWaiter {
 public:
  explicit SystemTracingServiceAsyncWaiter(SystemTracingService* proxy);

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

  ~SystemTracingServiceAsyncWaiter();
  void OpenProducerSocket(
      ::base::File* out_traced_socket);
  ::base::File OpenProducerSocket();

 private:
  SystemTracingService* const proxy_;
};




}  // tracing::mojom

#endif  // SERVICES_TRACING_PUBLIC_MOJOM_SYSTEM_TRACING_SERVICE_MOJOM_TEST_UTILS_H_