chromium/device/fido/virtual_fido_device_factory.h

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef DEVICE_FIDO_VIRTUAL_FIDO_DEVICE_FACTORY_H_
#define DEVICE_FIDO_VIRTUAL_FIDO_DEVICE_FACTORY_H_

#include <memory>
#include <utility>
#include <vector>

#include "base/memory/scoped_refptr.h"
#include "device/fido/cable/cable_discovery_data.h"
#include "device/fido/fido_constants.h"
#include "device/fido/fido_discovery_base.h"
#include "device/fido/fido_discovery_factory.h"
#include "device/fido/fido_transport_protocol.h"
#include "device/fido/virtual_ctap2_device.h"
#include "device/fido/virtual_fido_device.h"
#include "device/fido/virtual_fido_device_discovery.h"

namespace device::test {

// A |FidoDiscoveryFactory| that always returns |VirtualFidoDevice|s.
//
// If the transport is set to `hybrid` and a client obtains a phone contact
// callback from |get_cable_contact_callback|, authenticators will only be
// created only after the callback is executed.
class VirtualFidoDeviceFactory : public device::FidoDiscoveryFactory {};

}  // namespace device::test

#endif  // DEVICE_FIDO_VIRTUAL_FIDO_DEVICE_FACTORY_H_