1 // Copyright 2024 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CRYPTO_SCOPED_FAKE_USER_VERIFYING_KEY_PROVIDER_H_ 6 #define CRYPTO_SCOPED_FAKE_USER_VERIFYING_KEY_PROVIDER_H_ 7 8 namespace crypto { 9 10 // ScopedFakeUserVerifyingKeyProvider causes `GetUserVerifyingKeyProvider` to 11 // return a mock implementation of `UserVerifyingKeyProvider`, that does not use 12 // system APIs, while it is in scope. 13 class ScopedFakeUserVerifyingKeyProvider { 14 public: 15 ScopedFakeUserVerifyingKeyProvider(); 16 ~ScopedFakeUserVerifyingKeyProvider(); 17 }; 18 19 // `ScopedNullUserVerifyingKeyProvider` causes `GetUserVerifyingKeyProvider` to 20 // return a nullptr, emulating the key provider not being supported, while it 21 // is in scope. 22 class ScopedNullUserVerifyingKeyProvider { 23 public: 24 ScopedNullUserVerifyingKeyProvider(); 25 ~ScopedNullUserVerifyingKeyProvider(); 26 }; 27 28 } // namespace crypto 29 30 #endif // CRYPTO_SCOPED_FAKE_USER_VERIFYING_KEY_PROVIDER_H_ 31