chromium/out/Default/gen/components/media_router/common/mojom/media_router.mojom-shared.h

// components/media_router/common/mojom/media_router.mojom-shared.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2016 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_MEDIA_ROUTER_MOJOM_SHARED_H_
#define COMPONENTS_MEDIA_ROUTER_COMMON_MOJOM_MEDIA_ROUTER_MOJOM_SHARED_H_

#include <stdint.h>

#include <functional>
#include <iosfwd>
#include <type_traits>
#include <utility>
#include "mojo/public/cpp/bindings/array_data_view.h"
#include "mojo/public/cpp/bindings/enum_traits.h"
#include "mojo/public/cpp/bindings/interface_data_view.h"
#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/map_data_view.h"
#include "mojo/public/cpp/bindings/string_data_view.h"

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

#include "components/media_router/common/mojom/media_router.mojom-shared-internal.h"
#include "components/media_router/common/mojom/logger.mojom-shared.h"
#include "components/media_router/common/mojom/debugger.mojom-shared.h"
#include "components/media_router/common/mojom/media_controller.mojom-shared.h"
#include "components/media_router/common/mojom/media_route_provider_id.mojom-shared.h"
#include "components/media_router/common/mojom/media_status.mojom-shared.h"
#include "components/media_router/common/mojom/route_request_result_code.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "mojo/public/mojom/base/values.mojom-shared.h"
#include "services/network/public/mojom/ip_address.mojom-shared.h"
#include "services/network/public/mojom/ip_endpoint.mojom-shared.h"
#include "third_party/blink/public/mojom/presentation/presentation.mojom-shared.h"
#include "url/mojom/origin.mojom-shared.h"
#include "url/mojom/url.mojom-shared.h"
#include "mojo/public/cpp/bindings/lib/interface_serialization.h"
#include "mojo/public/cpp/system/data_pipe.h"






namespace media_router::mojom {
class MediaSinkDataView;

class DialMediaSinkDataView;

class CastMediaSinkDataView;

class MediaRouteDataView;

class IssueDataView;

class RouteMessageDataView;

class RoutePresentationConnectionDataView;

class CastSessionStateDataView;

class CastProviderStateDataView;

class MediaSinkExtraDataDataView;
class ProviderStateDataView;


}  // media_router::mojom

namespace mojo {
namespace internal {

template <>
struct MojomTypeTraits<::media_router::mojom::MediaSinkDataView> {};

template <>
struct MojomTypeTraits<::media_router::mojom::DialMediaSinkDataView> {};

template <>
struct MojomTypeTraits<::media_router::mojom::CastMediaSinkDataView> {};

template <>
struct MojomTypeTraits<::media_router::mojom::MediaRouteDataView> {};

template <>
struct MojomTypeTraits<::media_router::mojom::IssueDataView> {};

template <>
struct MojomTypeTraits<::media_router::mojom::RouteMessageDataView> {};

template <>
struct MojomTypeTraits<::media_router::mojom::RoutePresentationConnectionDataView> {};

template <>
struct MojomTypeTraits<::media_router::mojom::CastSessionStateDataView> {};

template <>
struct MojomTypeTraits<::media_router::mojom::CastProviderStateDataView> {};

template <>
struct MojomTypeTraits<::media_router::mojom::MediaSinkExtraDataDataView> {};

template <>
struct MojomTypeTraits<::media_router::mojom::ProviderStateDataView> {};

}  // namespace internal
}  // namespace mojo


namespace media_router::mojom {


enum class SinkIconType : int32_t {};

 std::ostream& operator<<(std::ostream& os, SinkIconType value);
inline bool IsKnownEnumValue(SinkIconType value) {}


enum class RouteControllerType : int32_t {};

 std::ostream& operator<<(std::ostream& os, RouteControllerType value);
inline bool IsKnownEnumValue(RouteControllerType value) {}


enum class Issue_Severity : int32_t {};

 std::ostream& operator<<(std::ostream& os, Issue_Severity value);
inline bool IsKnownEnumValue(Issue_Severity value) {}


enum class RouteMessage_Type : int32_t {};

 std::ostream& operator<<(std::ostream& os, RouteMessage_Type value);
inline bool IsKnownEnumValue(RouteMessage_Type value) {}
// Interface base classes. They are used for type safety check.
class MediaRouteProviderInterfaceBase {};

MediaRouteProviderPtrDataView;
MediaRouteProviderRequestDataView;
MediaRouteProviderAssociatedPtrInfoDataView;
MediaRouteProviderAssociatedRequestDataView;
class MediaRouterInterfaceBase {};

MediaRouterPtrDataView;
MediaRouterRequestDataView;
MediaRouterAssociatedPtrInfoDataView;
MediaRouterAssociatedRequestDataView;


class MediaSinkDataView {};


class DialMediaSinkDataView {};


class CastMediaSinkDataView {};


class MediaRouteDataView {};


class IssueDataView {};


class RouteMessageDataView {};


class RoutePresentationConnectionDataView {};


class CastSessionStateDataView {};


class CastProviderStateDataView {};


class MediaSinkExtraDataDataView {};



class ProviderStateDataView {};



}  // media_router::mojom

namespace std {

template <>
struct hash<::media_router::mojom::SinkIconType>
    : public mojo::internal::EnumHashImpl<::media_router::mojom::SinkIconType> {};

template <>
struct hash<::media_router::mojom::RouteControllerType>
    : public mojo::internal::EnumHashImpl<::media_router::mojom::RouteControllerType> {};

template <>
struct hash<::media_router::mojom::Issue_Severity>
    : public mojo::internal::EnumHashImpl<::media_router::mojom::Issue_Severity> {};

template <>
struct hash<::media_router::mojom::RouteMessage_Type>
    : public mojo::internal::EnumHashImpl<::media_router::mojom::RouteMessage_Type> {};

}  // namespace std

namespace mojo {


namespace internal {

Serializer< ::media_router::mojom::SinkIconType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media_router::mojom::RouteControllerType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media_router::mojom::Issue_Severity, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media_router::mojom::RouteMessage_Type, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media_router::mojom::MediaSinkDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media_router::mojom::DialMediaSinkDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media_router::mojom::CastMediaSinkDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media_router::mojom::MediaRouteDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media_router::mojom::IssueDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media_router::mojom::RouteMessageDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media_router::mojom::RoutePresentationConnectionDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media_router::mojom::CastSessionStateDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media_router::mojom::CastProviderStateDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media_router::mojom::MediaSinkExtraDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media_router::mojom::ProviderStateDataView, MaybeConstUserType>;

}  // namespace internal

}  // namespace mojo


namespace media_router::mojom {

inline void MediaSinkDataView::GetSinkIdDataView(
    mojo::StringDataView* output) {}
inline void MediaSinkDataView::GetNameDataView(
    mojo::StringDataView* output) {}
inline void MediaSinkDataView::GetExtraDataDataView(
    MediaSinkExtraDataDataView* output) {}


inline void DialMediaSinkDataView::GetIpAddressDataView(
    ::network::mojom::IPAddressDataView* output) {}
inline void DialMediaSinkDataView::GetModelNameDataView(
    mojo::StringDataView* output) {}
inline void DialMediaSinkDataView::GetAppUrlDataView(
    ::url::mojom::UrlDataView* output) {}


inline void CastMediaSinkDataView::GetIpEndpointDataView(
    ::network::mojom::IPEndPointDataView* output) {}
inline void CastMediaSinkDataView::GetModelNameDataView(
    mojo::StringDataView* output) {}


inline void MediaRouteDataView::GetMediaRouteIdDataView(
    mojo::StringDataView* output) {}
inline void MediaRouteDataView::GetPresentationIdDataView(
    mojo::StringDataView* output) {}
inline void MediaRouteDataView::GetMediaSourceDataView(
    mojo::StringDataView* output) {}
inline void MediaRouteDataView::GetMediaSinkIdDataView(
    mojo::StringDataView* output) {}
inline void MediaRouteDataView::GetMediaSinkNameDataView(
    mojo::StringDataView* output) {}
inline void MediaRouteDataView::GetDescriptionDataView(
    mojo::StringDataView* output) {}


inline void IssueDataView::GetRouteIdDataView(
    mojo::StringDataView* output) {}
inline void IssueDataView::GetSinkIdDataView(
    mojo::StringDataView* output) {}
inline void IssueDataView::GetTitleDataView(
    mojo::StringDataView* output) {}
inline void IssueDataView::GetMessageDataView(
    mojo::StringDataView* output) {}


inline void RouteMessageDataView::GetMessageDataView(
    mojo::StringDataView* output) {}
inline void RouteMessageDataView::GetDataDataView(
    mojo::ArrayDataView<uint8_t>* output) {}




inline void CastSessionStateDataView::GetSinkIdDataView(
    mojo::StringDataView* output) {}
inline void CastSessionStateDataView::GetAppIdDataView(
    mojo::StringDataView* output) {}
inline void CastSessionStateDataView::GetSessionIdDataView(
    mojo::StringDataView* output) {}
inline void CastSessionStateDataView::GetRouteDescriptionDataView(
    mojo::StringDataView* output) {}


inline void CastProviderStateDataView::GetSessionStateDataView(
    mojo::ArrayDataView<CastSessionStateDataView>* output) {}


inline void MediaSinkExtraDataDataView::GetDialMediaSinkDataView(
    DialMediaSinkDataView* output) const {}
inline void MediaSinkExtraDataDataView::GetCastMediaSinkDataView(
    CastMediaSinkDataView* output) const {}

inline void ProviderStateDataView::GetCastProviderStateDataView(
    CastProviderStateDataView* output) const {}


}  // media_router::mojom

// Declare TraceFormatTraits for enums, which should be defined in ::perfetto
// namespace.

namespace perfetto {

template <>
struct  TraceFormatTraits<::media_router::mojom::SinkIconType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::media_router::mojom::RouteControllerType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::media_router::mojom::Issue_Severity> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::media_router::mojom::RouteMessage_Type> {};

} // namespace perfetto

#endif  // COMPONENTS_MEDIA_ROUTER_COMMON_MOJOM_MEDIA_ROUTER_MOJOM_SHARED_H_