| // Copyright 2020 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/credential_provider/setup/gcpw_files.h" |
| |
| #include "chrome/credential_provider/extension/extension_utils.h" |
| |
| namespace credential_provider { |
| |
| base::FilePath::StringType kCredentialProviderDll = |
| FILE_PATH_LITERAL("Gaia1_0.dll"); |
| |
| base::FilePath::StringType kCredentialProviderSetupExe = |
| FILE_PATH_LITERAL("gcp_setup.exe"); |
| |
| base::FilePath::StringType kEventLogProviderDll = |
| FILE_PATH_LITERAL("gcp_eventlog_provider.dll"); |
| |
| base::FilePath::StringType kCredentialProviderExtensionExe = |
| FILE_PATH_LITERAL("extension\\gcpw_extension.exe"); |
| |
| // List of files to install. If the file list is changed here, make sure to |
| // update the files added in make_setup.py. |
| const std::vector<base::FilePath::StringType> kFileNames = { |
| kCredentialProviderSetupExe, kEventLogProviderDll, |
| kCredentialProviderExtensionExe, |
| kCredentialProviderDll, // Base name to the CP dll. |
| }; |
| |
| // List of dlls to register. Must be a subset of kFilenames. |
| const std::vector<base::FilePath::StringType> kRegsiterDlls = { |
| kCredentialProviderDll, |
| }; |
| |
| GCPWFiles::~GCPWFiles() {} |
| |
| std::vector<base::FilePath::StringType> GCPWFiles::GetEffectiveInstallFiles() { |
| std::vector<base::FilePath::StringType> files; |
| for (auto& file : kFileNames) { |
| if (file.compare(kCredentialProviderExtensionExe) == 0 && |
| !extension::IsGCPWExtensionEnabled()) |
| continue; |
| files.push_back(file); |
| } |
| |
| return files; |
| } |
| |
| std::vector<base::FilePath::StringType> GCPWFiles::GetRegistrationFiles() { |
| return kRegsiterDlls; |
| } |
| |
| // static |
| GCPWFiles** GCPWFiles::GetInstanceStorage() { |
| static GCPWFiles* instance = new GCPWFiles(); |
| return &instance; |
| } |
| |
| // static |
| GCPWFiles* GCPWFiles::Get() { |
| return *GetInstanceStorage(); |
| } |
| |
| } // namespace credential_provider |