#ifndef SERVICES_MEDIA_SESSION_PUBLIC_MOJOM_AUDIO_FOCUS_MOJOM_SHARED_H_
#define SERVICES_MEDIA_SESSION_PUBLIC_MOJOM_AUDIO_FOCUS_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 "services/media_session/public/mojom/audio_focus.mojom-shared-internal.h"
#include "mojo/public/mojom/base/unguessable_token.mojom-shared.h"
#include "services/media_session/public/mojom/media_session.mojom-shared.h"
#include "mojo/public/cpp/bindings/lib/interface_serialization.h"
#include "mojo/public/cpp/system/data_pipe.h"
namespace media_session::mojom {
class AudioFocusRequestStateDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::media_session::mojom::AudioFocusRequestStateDataView> { … };
}
}
namespace media_session::mojom {
enum class EnforcementMode : int32_t { … };
std::ostream& operator<<(std::ostream& os, EnforcementMode value);
inline bool IsKnownEnumValue(EnforcementMode value) { … }
enum class AudioFocusType : int32_t { … };
std::ostream& operator<<(std::ostream& os, AudioFocusType value);
inline bool IsKnownEnumValue(AudioFocusType value) { … }
class AudioFocusObserverInterfaceBase { … };
AudioFocusObserverPtrDataView;
AudioFocusObserverRequestDataView;
AudioFocusObserverAssociatedPtrInfoDataView;
AudioFocusObserverAssociatedRequestDataView;
class AudioFocusRequestClientInterfaceBase { … };
AudioFocusRequestClientPtrDataView;
AudioFocusRequestClientRequestDataView;
AudioFocusRequestClientAssociatedPtrInfoDataView;
AudioFocusRequestClientAssociatedRequestDataView;
class AudioFocusManagerInterfaceBase { … };
AudioFocusManagerPtrDataView;
AudioFocusManagerRequestDataView;
AudioFocusManagerAssociatedPtrInfoDataView;
AudioFocusManagerAssociatedRequestDataView;
class AudioFocusManagerDebugInterfaceBase { … };
AudioFocusManagerDebugPtrDataView;
AudioFocusManagerDebugRequestDataView;
AudioFocusManagerDebugAssociatedPtrInfoDataView;
AudioFocusManagerDebugAssociatedRequestDataView;
class AudioFocusRequestStateDataView { … };
}
namespace std {
template <>
struct hash<::media_session::mojom::EnforcementMode>
: public mojo::internal::EnumHashImpl<::media_session::mojom::EnforcementMode> { … };
template <>
struct hash<::media_session::mojom::AudioFocusType>
: public mojo::internal::EnumHashImpl<::media_session::mojom::AudioFocusType> { … };
}
namespace mojo {
namespace internal {
Serializer< ::media_session::mojom::EnforcementMode, MaybeConstUserType>;
}
namespace internal {
Serializer< ::media_session::mojom::AudioFocusType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::media_session::mojom::AudioFocusRequestStateDataView, MaybeConstUserType>;
}
}
namespace media_session::mojom {
inline void AudioFocusRequestStateDataView::GetSessionInfoDataView(
::media_session::mojom::MediaSessionInfoDataView* output) { … }
inline void AudioFocusRequestStateDataView::GetSourceNameDataView(
mojo::StringDataView* output) { … }
inline void AudioFocusRequestStateDataView::GetRequestIdDataView(
::mojo_base::mojom::UnguessableTokenDataView* output) { … }
inline void AudioFocusRequestStateDataView::GetSourceIdDataView(
::mojo_base::mojom::UnguessableTokenDataView* output) { … }
}
namespace perfetto {
template <>
struct TraceFormatTraits<::media_session::mojom::EnforcementMode> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::media_session::mojom::AudioFocusType> { … };
}
#endif