#ifndef SERVICES_DEVICE_PUBLIC_MOJOM_SMART_CARD_MOJOM_SHARED_H_
#define SERVICES_DEVICE_PUBLIC_MOJOM_SMART_CARD_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/device/public/mojom/smart_card.mojom-shared-internal.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "mojo/public/cpp/bindings/lib/interface_serialization.h"
#include "mojo/public/cpp/system/data_pipe.h"
namespace device::mojom {
class SmartCardReaderStateFlagsDataView;
class SmartCardReaderStateInDataView;
class SmartCardReaderStateOutDataView;
class SmartCardProtocolsDataView;
class SmartCardStatusDataView;
class SmartCardConnectSuccessDataView;
class SmartCardResultDataView;
class SmartCardStatusChangeResultDataView;
class SmartCardListReadersResultDataView;
class SmartCardCreateContextResultDataView;
class SmartCardConnectResultDataView;
class SmartCardDataResultDataView;
class SmartCardStatusResultDataView;
class SmartCardTransactionResultDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::device::mojom::SmartCardReaderStateFlagsDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::SmartCardReaderStateInDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::SmartCardReaderStateOutDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::SmartCardProtocolsDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::SmartCardStatusDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::SmartCardConnectSuccessDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::SmartCardResultDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::SmartCardStatusChangeResultDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::SmartCardListReadersResultDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::SmartCardCreateContextResultDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::SmartCardConnectResultDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::SmartCardDataResultDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::SmartCardStatusResultDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::SmartCardTransactionResultDataView> { … };
}
}
namespace device::mojom {
enum class SmartCardSuccess : int32_t { … };
std::ostream& operator<<(std::ostream& os, SmartCardSuccess value);
inline bool IsKnownEnumValue(SmartCardSuccess value) { … }
enum class SmartCardError : int32_t { … };
std::ostream& operator<<(std::ostream& os, SmartCardError value);
inline bool IsKnownEnumValue(SmartCardError value) { … }
enum class SmartCardShareMode : int32_t { … };
std::ostream& operator<<(std::ostream& os, SmartCardShareMode value);
inline bool IsKnownEnumValue(SmartCardShareMode value) { … }
enum class SmartCardProtocol : int32_t { … };
std::ostream& operator<<(std::ostream& os, SmartCardProtocol value);
inline bool IsKnownEnumValue(SmartCardProtocol value) { … }
enum class SmartCardDisposition : int32_t { … };
std::ostream& operator<<(std::ostream& os, SmartCardDisposition value);
inline bool IsKnownEnumValue(SmartCardDisposition value) { … }
enum class SmartCardConnectionState : int32_t { … };
std::ostream& operator<<(std::ostream& os, SmartCardConnectionState value);
inline bool IsKnownEnumValue(SmartCardConnectionState value) { … }
class SmartCardTransactionInterfaceBase { … };
SmartCardTransactionPtrDataView;
SmartCardTransactionRequestDataView;
SmartCardTransactionAssociatedPtrInfoDataView;
SmartCardTransactionAssociatedRequestDataView;
class SmartCardConnectionInterfaceBase { … };
SmartCardConnectionPtrDataView;
SmartCardConnectionRequestDataView;
SmartCardConnectionAssociatedPtrInfoDataView;
SmartCardConnectionAssociatedRequestDataView;
class SmartCardContextInterfaceBase { … };
SmartCardContextPtrDataView;
SmartCardContextRequestDataView;
SmartCardContextAssociatedPtrInfoDataView;
SmartCardContextAssociatedRequestDataView;
class SmartCardContextFactoryInterfaceBase { … };
SmartCardContextFactoryPtrDataView;
SmartCardContextFactoryRequestDataView;
SmartCardContextFactoryAssociatedPtrInfoDataView;
SmartCardContextFactoryAssociatedRequestDataView;
class SmartCardReaderStateFlagsDataView { … };
class SmartCardReaderStateInDataView { … };
class SmartCardReaderStateOutDataView { … };
class SmartCardProtocolsDataView { … };
class SmartCardStatusDataView { … };
class SmartCardConnectSuccessDataView { … };
class SmartCardResultDataView { … };
class SmartCardStatusChangeResultDataView { … };
class SmartCardListReadersResultDataView { … };
class SmartCardCreateContextResultDataView { … };
class SmartCardConnectResultDataView { … };
class SmartCardDataResultDataView { … };
class SmartCardStatusResultDataView { … };
class SmartCardTransactionResultDataView { … };
}
namespace std {
template <>
struct hash<::device::mojom::SmartCardSuccess>
: public mojo::internal::EnumHashImpl<::device::mojom::SmartCardSuccess> { … };
template <>
struct hash<::device::mojom::SmartCardError>
: public mojo::internal::EnumHashImpl<::device::mojom::SmartCardError> { … };
template <>
struct hash<::device::mojom::SmartCardShareMode>
: public mojo::internal::EnumHashImpl<::device::mojom::SmartCardShareMode> { … };
template <>
struct hash<::device::mojom::SmartCardProtocol>
: public mojo::internal::EnumHashImpl<::device::mojom::SmartCardProtocol> { … };
template <>
struct hash<::device::mojom::SmartCardDisposition>
: public mojo::internal::EnumHashImpl<::device::mojom::SmartCardDisposition> { … };
template <>
struct hash<::device::mojom::SmartCardConnectionState>
: public mojo::internal::EnumHashImpl<::device::mojom::SmartCardConnectionState> { … };
}
namespace mojo {
namespace internal {
Serializer< ::device::mojom::SmartCardSuccess, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardError, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardShareMode, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardProtocol, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardDisposition, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardConnectionState, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardReaderStateFlagsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardReaderStateInDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardReaderStateOutDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardProtocolsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardStatusDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardConnectSuccessDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardStatusChangeResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardListReadersResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardCreateContextResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardConnectResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardDataResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardStatusResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::SmartCardTransactionResultDataView, MaybeConstUserType>;
}
}
namespace device::mojom {
inline void SmartCardReaderStateInDataView::GetReaderDataView(
mojo::StringDataView* output) { … }
inline void SmartCardReaderStateInDataView::GetCurrentStateDataView(
SmartCardReaderStateFlagsDataView* output) { … }
inline void SmartCardReaderStateOutDataView::GetReaderDataView(
mojo::StringDataView* output) { … }
inline void SmartCardReaderStateOutDataView::GetEventStateDataView(
SmartCardReaderStateFlagsDataView* output) { … }
inline void SmartCardReaderStateOutDataView::GetAnswerToResetDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
inline void SmartCardStatusDataView::GetReaderNameDataView(
mojo::StringDataView* output) { … }
inline void SmartCardStatusDataView::GetAnswerToResetDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
inline void SmartCardStatusChangeResultDataView::GetReaderStatesDataView(
mojo::ArrayDataView<SmartCardReaderStateOutDataView>* output) const { … }
inline void SmartCardListReadersResultDataView::GetReadersDataView(
mojo::ArrayDataView<mojo::StringDataView>* output) const { … }
inline void SmartCardConnectResultDataView::GetSuccessDataView(
SmartCardConnectSuccessDataView* output) const { … }
inline void SmartCardDataResultDataView::GetDataDataView(
mojo::ArrayDataView<uint8_t>* output) const { … }
inline void SmartCardStatusResultDataView::GetStatusDataView(
SmartCardStatusDataView* output) const { … }
}
namespace perfetto {
template <>
struct TraceFormatTraits<::device::mojom::SmartCardSuccess> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::device::mojom::SmartCardError> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::device::mojom::SmartCardShareMode> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::device::mojom::SmartCardProtocol> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::device::mojom::SmartCardDisposition> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::device::mojom::SmartCardConnectionState> { … };
}
#endif