// third_party/blink/public/mojom/webrtc/rtc_logging.mojom-blink-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 THIRD_PARTY_BLINK_PUBLIC_MOJOM_WEBRTC_RTC_LOGGING_MOJOM_BLINK_TEST_UTILS_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_WEBRTC_RTC_LOGGING_MOJOM_BLINK_TEST_UTILS_H_

#include "third_party/blink/public/mojom/webrtc/rtc_logging.mojom-blink.h"
#include "third_party/blink/renderer/platform/platform_export.h"


namespace blink::mojom::blink {


class PLATFORM_EXPORT RTCLoggingDispatcherInterceptorForTesting : public RTCLoggingDispatcher {
  virtual RTCLoggingDispatcher* GetForwardingInterface() = 0;
  void StartDiagnosticLogging(bool upload, const ::blink::HashMap<::blink::String, ::blink::String>& metadata, StartDiagnosticLoggingCallback callback) override;
  void FinishDiagnosticLogging(const ::blink::HashMap<::blink::String, ::blink::String>& metadata, FinishDiagnosticLoggingCallback callback) override;
  void CancelDiagnosticLogging(CancelDiagnosticLoggingCallback callback) override;
};
class PLATFORM_EXPORT RTCLoggingDispatcherAsyncWaiter {
 public:
  explicit RTCLoggingDispatcherAsyncWaiter(RTCLoggingDispatcher* proxy);

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

  ~RTCLoggingDispatcherAsyncWaiter();
  void StartDiagnosticLogging(
      bool upload, const ::blink::HashMap<::blink::String, ::blink::String>& metadata, ::blink::String* out_uuid);
  ::blink::String StartDiagnosticLogging(bool upload, const ::blink::HashMap<::blink::String, ::blink::String>& metadata);
  void FinishDiagnosticLogging(
      const ::blink::HashMap<::blink::String, ::blink::String>& metadata);
  
  void CancelDiagnosticLogging(
      );
  

 private:
  RTCLoggingDispatcher* const proxy_;
};




}  // blink::mojom::blink

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_WEBRTC_RTC_LOGGING_MOJOM_BLINK_TEST_UTILS_H_