blob: 9766db328d8c60c39b1a25723862ed01d3cd8346 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_CREDENTIALMANAGER_CREDENTIAL_MANAGER_TYPE_CONVERTERS_H_
#define THIRD_PARTY_BLINK_RENDERER_MODULES_CREDENTIALMANAGER_CREDENTIAL_MANAGER_TYPE_CONVERTERS_H_
#include "base/optional.h"
#include "third_party/blink/public/mojom/credentialmanager/credential_manager.mojom-blink.h"
#include "third_party/blink/public/mojom/webauthn/authenticator.mojom-blink-forward.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink {
class AuthenticatorSelectionCriteria;
class ArrayBufferOrArrayBufferView;
class CableAuthenticationData;
class CableRegistrationData;
class Credential;
class PublicKeyCredentialCreationOptions;
class PublicKeyCredentialDescriptor;
class PublicKeyCredentialParameters;
class PublicKeyCredentialRequestOptions;
class PublicKeyCredentialRpEntity;
class PublicKeyCredentialUserEntity;
class UserVerificationRequirement;
} // namespace blink
namespace mojo {
// blink::mojom::blink::CredentialManager --------------------------
template <>
struct TypeConverter<blink::mojom::blink::CredentialInfoPtr,
blink::Credential*> {
static blink::mojom::blink::CredentialInfoPtr Convert(blink::Credential*);
};
template <>
struct TypeConverter<blink::Credential*,
blink::mojom::blink::CredentialInfoPtr> {
static blink::Credential* Convert(
const blink::mojom::blink::CredentialInfoPtr&);
};
// blink::mojom::blink::Authenticator ---------------------------------------
template <>
struct TypeConverter<blink::mojom::blink::CredentialManagerError,
blink::mojom::blink::AuthenticatorStatus> {
static blink::mojom::blink::CredentialManagerError Convert(
const blink::mojom::blink::AuthenticatorStatus&);
};
template <>
struct TypeConverter<Vector<uint8_t>, blink::ArrayBufferOrArrayBufferView> {
static Vector<uint8_t> Convert(const blink::ArrayBufferOrArrayBufferView&);
};
template <>
struct TypeConverter<blink::mojom::blink::PublicKeyCredentialType, String> {
static blink::mojom::blink::PublicKeyCredentialType Convert(const String&);
};
template <>
struct TypeConverter<
base::Optional<blink::mojom::blink::AuthenticatorTransport>,
String> {
static base::Optional<blink::mojom::blink::AuthenticatorTransport> Convert(
const String&);
};
template <>
struct TypeConverter<String, blink::mojom::blink::AuthenticatorTransport> {
static String Convert(const blink::mojom::blink::AuthenticatorTransport&);
};
template <>
struct TypeConverter<blink::mojom::blink::UserVerificationRequirement, String> {
static blink::mojom::blink::UserVerificationRequirement Convert(
const String&);
};
template <>
struct TypeConverter<blink::mojom::blink::AttestationConveyancePreference,
String> {
static blink::mojom::blink::AttestationConveyancePreference Convert(
const String&);
};
template <>
struct TypeConverter<blink::mojom::blink::AuthenticatorAttachment, String> {
static blink::mojom::blink::AuthenticatorAttachment Convert(const String&);
};
template <>
struct TypeConverter<blink::mojom::blink::AuthenticatorSelectionCriteriaPtr,
blink::AuthenticatorSelectionCriteria*> {
static blink::mojom::blink::AuthenticatorSelectionCriteriaPtr Convert(
const blink::AuthenticatorSelectionCriteria*);
};
template <>
struct TypeConverter<blink::mojom::blink::PublicKeyCredentialUserEntityPtr,
blink::PublicKeyCredentialUserEntity*> {
static blink::mojom::blink::PublicKeyCredentialUserEntityPtr Convert(
const blink::PublicKeyCredentialUserEntity*);
};
template <>
struct TypeConverter<blink::mojom::blink::PublicKeyCredentialRpEntityPtr,
blink::PublicKeyCredentialRpEntity*> {
static blink::mojom::blink::PublicKeyCredentialRpEntityPtr Convert(
const blink::PublicKeyCredentialRpEntity*);
};
template <>
struct TypeConverter<blink::mojom::blink::PublicKeyCredentialDescriptorPtr,
blink::PublicKeyCredentialDescriptor*> {
static blink::mojom::blink::PublicKeyCredentialDescriptorPtr Convert(
const blink::PublicKeyCredentialDescriptor*);
};
template <>
struct TypeConverter<blink::mojom::blink::PublicKeyCredentialParametersPtr,
blink::PublicKeyCredentialParameters*> {
static blink::mojom::blink::PublicKeyCredentialParametersPtr Convert(
const blink::PublicKeyCredentialParameters*);
};
template <>
struct TypeConverter<blink::mojom::blink::PublicKeyCredentialCreationOptionsPtr,
blink::PublicKeyCredentialCreationOptions*> {
static blink::mojom::blink::PublicKeyCredentialCreationOptionsPtr Convert(
const blink::PublicKeyCredentialCreationOptions*);
};
template <>
struct TypeConverter<blink::mojom::blink::CableAuthenticationPtr,
blink::CableAuthenticationData*> {
static blink::mojom::blink::CableAuthenticationPtr Convert(
const blink::CableAuthenticationData*);
};
template <>
struct TypeConverter<blink::mojom::blink::CableRegistrationPtr,
blink::CableRegistrationData*> {
static blink::mojom::blink::CableRegistrationPtr Convert(
const blink::CableRegistrationData*);
};
template <>
struct TypeConverter<blink::mojom::blink::PublicKeyCredentialRequestOptionsPtr,
blink::PublicKeyCredentialRequestOptions*> {
static blink::mojom::blink::PublicKeyCredentialRequestOptionsPtr Convert(
const blink::PublicKeyCredentialRequestOptions*);
};
} // namespace mojo
#endif // CredentialManagerProxy_h