master
cpp 33 lines 676 Bytes
Raw
1 /*++
2
3 Copyright (c) Microsoft. All rights reserved.
4
5 Module Name:
6
7 ICredentialStorage.cpp
8
9 Abstract:
10
11 Factory for credential storage backends.
12
13 --*/
14
15 #include "ICredentialStorage.h"
16 #include "FileCredStorage.h"
17 #include "WinCredStorage.h"
18 #include "WSLCUserSettings.h"
19
20 namespace wsl::windows::wslc::services {
21
22 std::unique_ptr<ICredentialStorage> OpenCredentialStorage()
23 {
24 auto backend = settings::User().Get<settings::Setting::CredentialStore>();
25 if (backend == settings::CredentialStoreType::File)
26 {
27 return std::make_unique<FileCredStorage>();
28 }
29
30 return std::make_unique<WinCredStorage>();
31 }
32
33 } // namespace wsl::windows::wslc::services