chromium/out/Default/gen/services/device/public/mojom/smart_card.mojom-shared.h

// services/device/public/mojom/smart_card.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 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;


}  // device::mojom

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 internal
}  // namespace mojo


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) {}
// Interface base classes. They are used for type safety check.
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 {};



}  // device::mojom

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 std

namespace mojo {


namespace internal {

Serializer< ::device::mojom::SmartCardSuccess, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardError, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardShareMode, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardProtocol, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardDisposition, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardConnectionState, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardReaderStateFlagsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardReaderStateInDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardReaderStateOutDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardProtocolsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardStatusDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardConnectSuccessDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardResultDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardStatusChangeResultDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardListReadersResultDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardCreateContextResultDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardConnectResultDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardDataResultDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardStatusResultDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SmartCardTransactionResultDataView, MaybeConstUserType>;

}  // namespace internal

}  // namespace mojo


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 {}



}  // device::mojom

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

namespace perfetto {

template <>
struct  TraceFormatTraits<::device::mojom::SmartCardSuccess> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::device::mojom::SmartCardError> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::device::mojom::SmartCardShareMode> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::device::mojom::SmartCardProtocol> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::device::mojom::SmartCardDisposition> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::device::mojom::SmartCardConnectionState> {};

} // namespace perfetto

#endif  // SERVICES_DEVICE_PUBLIC_MOJOM_SMART_CARD_MOJOM_SHARED_H_