chromium/out/Default/gen/media/mojo/mojom/remoting.mojom.h

// media/mojo/mojom/remoting.mojom.h is auto generated by mojom_bindings_generator.py, do not edit

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

#ifndef MEDIA_MOJO_MOJOM_REMOTING_MOJOM_H_
#define MEDIA_MOJO_MOJOM_REMOTING_MOJOM_H_

#include <stdint.h>

#include <limits>
#include <optional>
#include <type_traits>
#include <utility>

#include "base/types/cxx23_to_underlying.h"
#include "mojo/public/cpp/bindings/clone_traits.h"
#include "mojo/public/cpp/bindings/equals_traits.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/struct_ptr.h"
#include "mojo/public/cpp/bindings/struct_traits.h"
#include "mojo/public/cpp/bindings/union_traits.h"

#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"

#include "media/mojo/mojom/remoting.mojom-features.h"  // IWYU pragma: export
#include "media/mojo/mojom/remoting.mojom-shared.h"  // IWYU pragma: export
#include "media/mojo/mojom/remoting.mojom-forward.h"  // IWYU pragma: export
#include "media/mojo/mojom/media_types.mojom-forward.h"
#include "media/mojo/mojom/remoting_common.mojom-forward.h"
#include "ui/gfx/geometry/mojom/geometry.mojom.h"
#include <string>
#include <vector>

#include "mojo/public/cpp/bindings/lib/control_message_handler.h"
#include "mojo/public/cpp/bindings/lib/message_size_estimator.h"
#include "mojo/public/cpp/bindings/raw_ptr_impl_ref_traits.h"






namespace media::mojom {

class RemoterFactoryProxy;

template <typename ImplRefTraits>
class RemoterFactoryStub;

class RemoterFactoryRequestValidator;


class RemoterFactory
    : public RemoterFactoryInterfaceBase {};

class RemotingDataStreamSenderProxy;

template <typename ImplRefTraits>
class RemotingDataStreamSenderStub;

class RemotingDataStreamSenderRequestValidator;
class RemotingDataStreamSenderResponseValidator;


class RemotingDataStreamSender
    : public RemotingDataStreamSenderInterfaceBase {};

class RemoterProxy;

template <typename ImplRefTraits>
class RemoterStub;

class RemoterRequestValidator;
class RemoterResponseValidator;


class Remoter
    : public RemoterInterfaceBase {};

class RemotingSourceProxy;

template <typename ImplRefTraits>
class RemotingSourceStub;

class RemotingSourceRequestValidator;


class RemotingSource
    : public RemotingSourceInterfaceBase {};

class RemoteeProxy;

template <typename ImplRefTraits>
class RemoteeStub;

class RemoteeRequestValidator;


class Remotee
    : public RemoteeInterfaceBase {};

class RemotingSinkProxy;

template <typename ImplRefTraits>
class RemotingSinkStub;

class RemotingSinkRequestValidator;


class RemotingSink
    : public RemotingSinkInterfaceBase {};

class RemotingDataStreamReceiverProxy;

template <typename ImplRefTraits>
class RemotingDataStreamReceiverStub;

class RemotingDataStreamReceiverRequestValidator;


class RemotingDataStreamReceiver
    : public RemotingDataStreamReceiverInterfaceBase {};



class  RemoterFactoryProxy
    : public RemoterFactory {};



class  RemotingDataStreamSenderProxy
    : public RemotingDataStreamSender {};



class  RemoterProxy
    : public Remoter {};



class  RemotingSourceProxy
    : public RemotingSource {};



class  RemoteeProxy
    : public Remotee {};



class  RemotingSinkProxy
    : public RemotingSink {};



class  RemotingDataStreamReceiverProxy
    : public RemotingDataStreamReceiver {};
class  RemoterFactoryStubDispatch {};

template <typename ImplRefTraits =
              mojo::RawPtrImplRefTraits<RemoterFactory>>
class RemoterFactoryStub
    : public mojo::MessageReceiverWithResponderStatus {
 public:
  using ImplPointerType = typename ImplRefTraits::PointerType;

  RemoterFactoryStub() = default;
  ~RemoterFactoryStub() override = default;

  void set_sink(ImplPointerType sink) {}
  ImplPointerType& sink() {}

  bool Accept(mojo::Message* message) override {}

  bool AcceptWithResponder(
      mojo::Message* message,
      std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override {}

 private:
  ImplPointerType sink_;
};
class  RemotingDataStreamSenderStubDispatch {};

template <typename ImplRefTraits =
              mojo::RawPtrImplRefTraits<RemotingDataStreamSender>>
class RemotingDataStreamSenderStub
    : public mojo::MessageReceiverWithResponderStatus {
 public:
  using ImplPointerType = typename ImplRefTraits::PointerType;

  RemotingDataStreamSenderStub() = default;
  ~RemotingDataStreamSenderStub() override = default;

  void set_sink(ImplPointerType sink) {}
  ImplPointerType& sink() {}

  bool Accept(mojo::Message* message) override {}

  bool AcceptWithResponder(
      mojo::Message* message,
      std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override {}

 private:
  ImplPointerType sink_;
};
class  RemoterStubDispatch {};

template <typename ImplRefTraits =
              mojo::RawPtrImplRefTraits<Remoter>>
class RemoterStub
    : public mojo::MessageReceiverWithResponderStatus {
 public:
  using ImplPointerType = typename ImplRefTraits::PointerType;

  RemoterStub() = default;
  ~RemoterStub() override = default;

  void set_sink(ImplPointerType sink) {}
  ImplPointerType& sink() {}

  bool Accept(mojo::Message* message) override {}

  bool AcceptWithResponder(
      mojo::Message* message,
      std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override {}

 private:
  ImplPointerType sink_;
};
class  RemotingSourceStubDispatch {};

template <typename ImplRefTraits =
              mojo::RawPtrImplRefTraits<RemotingSource>>
class RemotingSourceStub
    : public mojo::MessageReceiverWithResponderStatus {
 public:
  using ImplPointerType = typename ImplRefTraits::PointerType;

  RemotingSourceStub() = default;
  ~RemotingSourceStub() override = default;

  void set_sink(ImplPointerType sink) {}
  ImplPointerType& sink() {}

  bool Accept(mojo::Message* message) override {}

  bool AcceptWithResponder(
      mojo::Message* message,
      std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override {}

 private:
  ImplPointerType sink_;
};
class  RemoteeStubDispatch {};

template <typename ImplRefTraits =
              mojo::RawPtrImplRefTraits<Remotee>>
class RemoteeStub
    : public mojo::MessageReceiverWithResponderStatus {
 public:
  using ImplPointerType = typename ImplRefTraits::PointerType;

  RemoteeStub() = default;
  ~RemoteeStub() override = default;

  void set_sink(ImplPointerType sink) {}
  ImplPointerType& sink() {}

  bool Accept(mojo::Message* message) override {}

  bool AcceptWithResponder(
      mojo::Message* message,
      std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override {}

 private:
  ImplPointerType sink_;
};
class  RemotingSinkStubDispatch {};

template <typename ImplRefTraits =
              mojo::RawPtrImplRefTraits<RemotingSink>>
class RemotingSinkStub
    : public mojo::MessageReceiverWithResponderStatus {
 public:
  using ImplPointerType = typename ImplRefTraits::PointerType;

  RemotingSinkStub() = default;
  ~RemotingSinkStub() override = default;

  void set_sink(ImplPointerType sink) {}
  ImplPointerType& sink() {}

  bool Accept(mojo::Message* message) override {}

  bool AcceptWithResponder(
      mojo::Message* message,
      std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override {}

 private:
  ImplPointerType sink_;
};
class  RemotingDataStreamReceiverStubDispatch {};

template <typename ImplRefTraits =
              mojo::RawPtrImplRefTraits<RemotingDataStreamReceiver>>
class RemotingDataStreamReceiverStub
    : public mojo::MessageReceiverWithResponderStatus {
 public:
  using ImplPointerType = typename ImplRefTraits::PointerType;

  RemotingDataStreamReceiverStub() = default;
  ~RemotingDataStreamReceiverStub() override = default;

  void set_sink(ImplPointerType sink) {}
  ImplPointerType& sink() {}

  bool Accept(mojo::Message* message) override {}

  bool AcceptWithResponder(
      mojo::Message* message,
      std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override {}

 private:
  ImplPointerType sink_;
};
class  RemoterFactoryRequestValidator : public mojo::MessageReceiver {};
class  RemotingDataStreamSenderRequestValidator : public mojo::MessageReceiver {};
class  RemoterRequestValidator : public mojo::MessageReceiver {};
class  RemotingSourceRequestValidator : public mojo::MessageReceiver {};
class  RemoteeRequestValidator : public mojo::MessageReceiver {};
class  RemotingSinkRequestValidator : public mojo::MessageReceiver {};
class  RemotingDataStreamReceiverRequestValidator : public mojo::MessageReceiver {};
class  RemotingDataStreamSenderResponseValidator : public mojo::MessageReceiver {};
class  RemoterResponseValidator : public mojo::MessageReceiver {};





}  // media::mojom

namespace mojo {

}  // namespace mojo

#endif  // MEDIA_MOJO_MOJOM_REMOTING_MOJOM_H_