// components/media_router/common/mojom/logger.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_MEDIA_ROUTER_COMMON_MOJOM_LOGGER_MOJOM_TEST_UTILS_H_
#define COMPONENTS_MEDIA_ROUTER_COMMON_MOJOM_LOGGER_MOJOM_TEST_UTILS_H_

#include "components/media_router/common/mojom/logger.mojom.h"


namespace media_router::mojom {


class  LoggerInterceptorForTesting : public Logger {
  virtual Logger* GetForwardingInterface() = 0;
  void LogInfo(LogCategory category, const std::string& component, const std::string& message, const std::string& sink_id, const std::string& media_source, const std::string& session_id) override;
  void LogWarning(LogCategory category, const std::string& component, const std::string& message, const std::string& sink_id, const std::string& media_source, const std::string& session_id) override;
  void LogError(LogCategory category, const std::string& component, const std::string& message, const std::string& sink_id, const std::string& media_source, const std::string& session_id) override;
  void BindReceiver(::mojo::PendingReceiver<Logger> receiver) override;
};
class  LoggerAsyncWaiter {
 public:
  explicit LoggerAsyncWaiter(Logger* proxy);

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

  ~LoggerAsyncWaiter();

 private:
  Logger* const proxy_;
};




}  // media_router::mojom

#endif  // COMPONENTS_MEDIA_ROUTER_COMMON_MOJOM_LOGGER_MOJOM_TEST_UTILS_H_