| // media/capture/video/chromeos/mojom/cros_camera_service.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 MEDIA_CAPTURE_VIDEO_CHROMEOS_MOJOM_CROS_CAMERA_SERVICE_MOJOM_SHARED_H_ |
| #define MEDIA_CAPTURE_VIDEO_CHROMEOS_MOJOM_CROS_CAMERA_SERVICE_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 "media/capture/video/chromeos/mojom/cros_camera_service.mojom-shared-internal.h" |
| #include "components/chromeos_camera/common/jpeg_encode_accelerator.mojom-shared.h" |
| #include "components/chromeos_camera/common/mjpeg_decode_accelerator.mojom-shared.h" |
| #include "media/capture/video/chromeos/mojom/camera_common.mojom-shared.h" |
| #include "media/capture/video/chromeos/mojom/cros_camera_client.mojom-shared.h" |
| #include "media/capture/video/chromeos/mojom/effects_pipeline.mojom-shared.h" |
| #include "mojo/public/mojom/base/unguessable_token.mojom-shared.h" |
| #include "mojo/public/cpp/bindings/lib/interface_serialization.h" |
| #include "mojo/public/cpp/system/data_pipe.h" |
| |
| |
| |
| |
| |
| |
| namespace cros::mojom { |
| |
| |
| } // cros::mojom |
| |
| namespace mojo { |
| namespace internal { |
| |
| } // namespace internal |
| } // namespace mojo |
| |
| |
| namespace cros::mojom { |
| |
| |
| enum class CameraClientType : int32_t { |
| |
| UNKNOWN = 0, |
| |
| TESTING = 1, |
| |
| CHROME = 2, |
| |
| ANDROID = 3, |
| |
| PLUGINVM = 4, |
| |
| ASH_CHROME = 5, |
| |
| LACROS_CHROME = 6, |
| kMinValue = 0, |
| kMaxValue = 6, |
| }; |
| |
| std::ostream& operator<<(std::ostream& os, CameraClientType value); |
| inline bool IsKnownEnumValue(CameraClientType value) { |
| return internal::CameraClientType_Data::IsKnownValue( |
| static_cast<int32_t>(value)); |
| } |
| |
| |
| enum class CameraPrivacySwitchState : int32_t { |
| |
| UNKNOWN = 0, |
| |
| ON = 1, |
| |
| OFF = 2, |
| kMinValue = 0, |
| kMaxValue = 2, |
| }; |
| |
| std::ostream& operator<<(std::ostream& os, CameraPrivacySwitchState value); |
| inline bool IsKnownEnumValue(CameraPrivacySwitchState value) { |
| return internal::CameraPrivacySwitchState_Data::IsKnownValue( |
| static_cast<int32_t>(value)); |
| } |
| |
| |
| enum class CameraAutoFramingState : int32_t { |
| |
| OFF = 0, |
| |
| ON_SINGLE = 1, |
| |
| ON_MULTI = 2, |
| kMinValue = 0, |
| kMaxValue = 2, |
| kDefaultValue = 0 |
| }; |
| |
| std::ostream& operator<<(std::ostream& os, CameraAutoFramingState value); |
| inline bool IsKnownEnumValue(CameraAutoFramingState value) { |
| return internal::CameraAutoFramingState_Data::IsKnownValue( |
| static_cast<int32_t>(value)); |
| } |
| inline CameraAutoFramingState ToKnownEnumValue(CameraAutoFramingState value) { |
| if (IsKnownEnumValue(value)) { |
| return value; |
| } |
| return CameraAutoFramingState::kDefaultValue; |
| } |
| // Interface base classes. They are used for type safety check. |
| class CameraHalDispatcherInterfaceBase {}; |
| |
| using CameraHalDispatcherPtrDataView = |
| mojo::InterfacePtrDataView<CameraHalDispatcherInterfaceBase>; |
| using CameraHalDispatcherRequestDataView = |
| mojo::InterfaceRequestDataView<CameraHalDispatcherInterfaceBase>; |
| using CameraHalDispatcherAssociatedPtrInfoDataView = |
| mojo::AssociatedInterfacePtrInfoDataView<CameraHalDispatcherInterfaceBase>; |
| using CameraHalDispatcherAssociatedRequestDataView = |
| mojo::AssociatedInterfaceRequestDataView<CameraHalDispatcherInterfaceBase>; |
| class CrosCameraServiceObserverInterfaceBase {}; |
| |
| using CrosCameraServiceObserverPtrDataView = |
| mojo::InterfacePtrDataView<CrosCameraServiceObserverInterfaceBase>; |
| using CrosCameraServiceObserverRequestDataView = |
| mojo::InterfaceRequestDataView<CrosCameraServiceObserverInterfaceBase>; |
| using CrosCameraServiceObserverAssociatedPtrInfoDataView = |
| mojo::AssociatedInterfacePtrInfoDataView<CrosCameraServiceObserverInterfaceBase>; |
| using CrosCameraServiceObserverAssociatedRequestDataView = |
| mojo::AssociatedInterfaceRequestDataView<CrosCameraServiceObserverInterfaceBase>; |
| class CrosCameraServiceInterfaceBase {}; |
| |
| using CrosCameraServicePtrDataView = |
| mojo::InterfacePtrDataView<CrosCameraServiceInterfaceBase>; |
| using CrosCameraServiceRequestDataView = |
| mojo::InterfaceRequestDataView<CrosCameraServiceInterfaceBase>; |
| using CrosCameraServiceAssociatedPtrInfoDataView = |
| mojo::AssociatedInterfacePtrInfoDataView<CrosCameraServiceInterfaceBase>; |
| using CrosCameraServiceAssociatedRequestDataView = |
| mojo::AssociatedInterfaceRequestDataView<CrosCameraServiceInterfaceBase>; |
| |
| |
| } // cros::mojom |
| |
| namespace std { |
| |
| template <> |
| struct hash<::cros::mojom::CameraClientType> |
| : public mojo::internal::EnumHashImpl<::cros::mojom::CameraClientType> {}; |
| |
| template <> |
| struct hash<::cros::mojom::CameraPrivacySwitchState> |
| : public mojo::internal::EnumHashImpl<::cros::mojom::CameraPrivacySwitchState> {}; |
| |
| template <> |
| struct hash<::cros::mojom::CameraAutoFramingState> |
| : public mojo::internal::EnumHashImpl<::cros::mojom::CameraAutoFramingState> {}; |
| |
| } // namespace std |
| |
| namespace mojo { |
| |
| |
| namespace internal { |
| |
| template <typename MaybeConstUserType> |
| struct Serializer<::cros::mojom::CameraClientType, MaybeConstUserType> { |
| using UserType = typename std::remove_const<MaybeConstUserType>::type; |
| using Traits = EnumTraits<::cros::mojom::CameraClientType, UserType>; |
| |
| static void Serialize(UserType input, int32_t* output) { |
| *output = static_cast<int32_t>(Traits::ToMojom(input)); |
| } |
| |
| static bool Deserialize(int32_t input, UserType* output) { |
| return Traits::FromMojom(::mojo::internal::ToKnownEnumValueHelper( |
| static_cast<::cros::mojom::CameraClientType>(input)), output); |
| } |
| }; |
| |
| } // namespace internal |
| |
| |
| namespace internal { |
| |
| template <typename MaybeConstUserType> |
| struct Serializer<::cros::mojom::CameraPrivacySwitchState, MaybeConstUserType> { |
| using UserType = typename std::remove_const<MaybeConstUserType>::type; |
| using Traits = EnumTraits<::cros::mojom::CameraPrivacySwitchState, UserType>; |
| |
| static void Serialize(UserType input, int32_t* output) { |
| *output = static_cast<int32_t>(Traits::ToMojom(input)); |
| } |
| |
| static bool Deserialize(int32_t input, UserType* output) { |
| return Traits::FromMojom(::mojo::internal::ToKnownEnumValueHelper( |
| static_cast<::cros::mojom::CameraPrivacySwitchState>(input)), output); |
| } |
| }; |
| |
| } // namespace internal |
| |
| |
| namespace internal { |
| |
| template <typename MaybeConstUserType> |
| struct Serializer<::cros::mojom::CameraAutoFramingState, MaybeConstUserType> { |
| using UserType = typename std::remove_const<MaybeConstUserType>::type; |
| using Traits = EnumTraits<::cros::mojom::CameraAutoFramingState, UserType>; |
| |
| static void Serialize(UserType input, int32_t* output) { |
| *output = static_cast<int32_t>(Traits::ToMojom(input)); |
| } |
| |
| static bool Deserialize(int32_t input, UserType* output) { |
| return Traits::FromMojom(::mojo::internal::ToKnownEnumValueHelper( |
| static_cast<::cros::mojom::CameraAutoFramingState>(input)), output); |
| } |
| }; |
| |
| } // namespace internal |
| |
| } // namespace mojo |
| |
| |
| namespace cros::mojom { |
| |
| |
| } // cros::mojom |
| |
| // Declare TraceFormatTraits for enums, which should be defined in ::perfetto |
| // namespace. |
| |
| namespace perfetto { |
| |
| template <> |
| struct TraceFormatTraits<::cros::mojom::CameraClientType> { |
| static void WriteIntoTrace(perfetto::TracedValue context, ::cros::mojom::CameraClientType value); |
| }; |
| |
| } // namespace perfetto |
| |
| namespace perfetto { |
| |
| template <> |
| struct TraceFormatTraits<::cros::mojom::CameraPrivacySwitchState> { |
| static void WriteIntoTrace(perfetto::TracedValue context, ::cros::mojom::CameraPrivacySwitchState value); |
| }; |
| |
| } // namespace perfetto |
| |
| namespace perfetto { |
| |
| template <> |
| struct TraceFormatTraits<::cros::mojom::CameraAutoFramingState> { |
| static void WriteIntoTrace(perfetto::TracedValue context, ::cros::mojom::CameraAutoFramingState value); |
| }; |
| |
| } // namespace perfetto |
| |
| #endif // MEDIA_CAPTURE_VIDEO_CHROMEOS_MOJOM_CROS_CAMERA_SERVICE_MOJOM_SHARED_H_ |