// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_OS_CRYPT_SYNC_OS_CRYPT_H_ #define COMPONENTS_OS_CRYPT_SYNC_OS_CRYPT_H_ #include <memory> #include <string> #include "base/component_export.h" #include "base/functional/callback.h" #include "base/task/single_thread_task_runner.h" #include "build/build_config.h" #include "build/chromecast_buildflags.h" #if BUILDFLAG(IS_LINUX) class KeyStorageLinux; #endif // BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) class PrefRegistrySimple; class PrefService; #endif // BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) namespace crypto { class SymmetricKey; } #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) namespace os_crypt { struct Config; } // Temporary interface due to OSCrypt refactor. See OSCryptImpl for descriptions // of what each function does. OSCrypt // namespace OSCrypt // The OSCryptImpl class gives access to simple encryption and decryption of // strings. Note that on Mac, access to the system Keychain is required and // these calls can block the current thread to collect user input. The same is // true for Linux, if a password management tool is available. class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { … }; #endif // COMPONENTS_OS_CRYPT_SYNC_OS_CRYPT_H_