blob: 8903fa6fc8cf331b457d5743c870a69fc1e27d49 [file] [log] [blame]
// Copyright 2021 The Chromium OS 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 CRYPTOHOME_AUTH_FACTOR_AUTH_FACTOR_METADATA_H_
#define CRYPTOHOME_AUTH_FACTOR_AUTH_FACTOR_METADATA_H_
#include <variant>
namespace cryptohome {
struct PasswordAuthFactorMetadata {
PasswordAuthFactorMetadata() = default;
};
struct PinAuthFactorMetadata {
PinAuthFactorMetadata() = default;
};
struct AuthFactorMetadata {
// Use `std::monostate` as the first alternative, in order to make the
// default constructor create an empty metadata.
std::
variant<std::monostate, PasswordAuthFactorMetadata, PinAuthFactorMetadata>
metadata;
};
} // namespace cryptohome
#endif // CRYPTOHOME_AUTH_FACTOR_AUTH_FACTOR_METADATA_H_