#include "components/sync/model/data_type_store_service_impl.h"
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram_functions.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/task_traits.h"
#include "base/task/thread_pool.h"
#include "components/prefs/pref_service.h"
#include "components/sync/base/data_type_histogram.h"
#include "components/sync/base/pref_names.h"
#include "components/sync/base/storage_type.h"
#include "components/sync/model/blocking_data_type_store_impl.h"
#include "components/sync/model/data_type_store_backend.h"
#include "components/sync/model/data_type_store_impl.h"
namespace syncer {
namespace {
constexpr base::FilePath::CharType kSyncDataFolderName[] = …);
constexpr base::FilePath::CharType kLevelDBFolderName[] = …);
std::optional<ModelError> InitOnBackendSequence(
const base::FilePath& level_db_path,
scoped_refptr<DataTypeStoreBackend> store_backend,
bool migrate_rl_from_local_to_account) { … }
std::unique_ptr<BlockingDataTypeStoreImpl, base::OnTaskRunnerDeleter>
CreateBlockingDataTypeStoreOnBackendSequence(
DataType data_type,
StorageType storage_type,
scoped_refptr<DataTypeStoreBackend> store_backend) { … }
void ConstructDataTypeStoreOnFrontendSequence(
DataType data_type,
StorageType storage_type,
scoped_refptr<base::SequencedTaskRunner> backend_task_runner,
DataTypeStore::InitCallback callback,
std::unique_ptr<BlockingDataTypeStoreImpl, base::OnTaskRunnerDeleter>
blocking_store) { … }
void CreateDataTypeStoreOnFrontendSequence(
StorageType storage_type,
scoped_refptr<base::SequencedTaskRunner> backend_task_runner,
scoped_refptr<DataTypeStoreBackend> store_backend,
DataType data_type,
DataTypeStore::InitCallback callback) { … }
}
DataTypeStoreServiceImpl::DataTypeStoreServiceImpl(
const base::FilePath& base_path,
PrefService* pref_service)
: … { … }
DataTypeStoreServiceImpl::~DataTypeStoreServiceImpl() { … }
void DataTypeStoreServiceImpl::BackendInitializationDone(
std::optional<ModelError> error) { … }
const base::FilePath& DataTypeStoreServiceImpl::GetSyncDataPath() const { … }
RepeatingDataTypeStoreFactory DataTypeStoreServiceImpl::GetStoreFactory() { … }
RepeatingDataTypeStoreFactory
DataTypeStoreServiceImpl::GetStoreFactoryForAccountStorage() { … }
scoped_refptr<base::SequencedTaskRunner>
DataTypeStoreServiceImpl::GetBackendTaskRunner() { … }
}