#include "components/sync/service/data_type_manager_impl.h"
#include <memory>
#include <string>
#include <utility>
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/logging.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h"
#include "base/notreached.h"
#include "base/task/sequenced_task_runner.h"
#include "components/sync/base/data_type.h"
#include "components/sync/base/features.h"
#include "components/sync/engine/data_type_activation_response.h"
#include "components/sync/protocol/data_type_state_helper.h"
#include "components/sync/service/configure_context.h"
#include "components/sync/service/data_type_encryption_handler.h"
#include "components/sync/service/data_type_manager_observer.h"
#include "components/sync/service/data_type_status_table.h"
namespace syncer {
namespace {
DataTypeController::TypeMap BuildControllerMap(
DataTypeController::TypeVector controllers) { … }
DataTypeStatusTable::TypeErrorMap GenerateCryptoErrorsForTypes(
DataTypeSet encrypted_types) { … }
ConfigureReason GetReasonForProgrammaticReconfigure(
ConfigureReason original_reason) { … }
base::queue<DataTypeSet> PrioritizeTypes(const DataTypeSet& types) { … }
}
DataTypeManagerImpl::DataTypeManagerImpl(
DataTypeController::TypeVector controllers,
const DataTypeEncryptionHandler* encryption_handler,
DataTypeManagerObserver* observer)
: … { … }
DataTypeManagerImpl::~DataTypeManagerImpl() = default;
void DataTypeManagerImpl::ClearMetadataWhileStoppedExceptFor(
DataTypeSet types) { … }
void DataTypeManagerImpl::SetConfigurer(DataTypeConfigurer* configurer) { … }
void DataTypeManagerImpl::Configure(DataTypeSet preferred_types,
const ConfigureContext& context) { … }
void DataTypeManagerImpl::DataTypePreconditionChanged(DataType type) { … }
void DataTypeManagerImpl::ForceReconfiguration() { … }
void DataTypeManagerImpl::ResetDataTypeErrors() { … }
void DataTypeManagerImpl::PurgeForMigration(DataTypeSet undesired_types) { … }
void DataTypeManagerImpl::ConfigureImpl(DataTypeSet preferred_types,
const ConfigureContext& context) { … }
void DataTypeManagerImpl::ConnectDataTypes() { … }
DataTypeSet DataTypeManagerImpl::GetDataTypesInState(
DataTypeConfigState state,
const DataTypeConfigStateMap& state_map) { … }
void DataTypeManagerImpl::SetDataTypesState(DataTypeConfigState state,
DataTypeSet types,
DataTypeConfigStateMap* state_map) { … }
DataTypeManagerImpl::DataTypeConfigStateMap
DataTypeManagerImpl::BuildDataTypeConfigStateMap(
const DataTypeSet& types_being_configured) const { … }
void DataTypeManagerImpl::Restart() { … }
void DataTypeManagerImpl::OnAllDataTypesReadyForConfigure() { … }
void DataTypeManagerImpl::UpdatePreconditionErrors() { … }
bool DataTypeManagerImpl::UpdatePreconditionError(DataType type) { … }
void DataTypeManagerImpl::ProcessReconfigure() { … }
void DataTypeManagerImpl::ConfigurationCompleted(
DataTypeSet succeeded_configuration_types,
DataTypeSet failed_configuration_types) { … }
void DataTypeManagerImpl::StartNextConfiguration() { … }
DataTypeConfigurer::ConfigureParams
DataTypeManagerImpl::PrepareConfigureParams() { … }
void DataTypeManagerImpl::OnSingleDataTypeWillStop(DataType type,
const SyncError& error) { … }
void DataTypeManagerImpl::Stop(SyncStopMetadataFate metadata_fate) { … }
void DataTypeManagerImpl::NotifyStart() { … }
void DataTypeManagerImpl::NotifyDone(ConfigureStatus status) { … }
DataTypeSet DataTypeManagerImpl::GetRegisteredDataTypes() const { … }
DataTypeSet DataTypeManagerImpl::GetDataTypesForTransportOnlyMode() const { … }
DataTypeSet DataTypeManagerImpl::GetActiveDataTypes() const { … }
DataTypeSet DataTypeManagerImpl::GetTypesWithPendingDownloadForInitialSync()
const { … }
DataTypeSet DataTypeManagerImpl::GetDataTypesWithPermanentErrors() const { … }
DataTypeSet DataTypeManagerImpl::GetPurgedDataTypes() const { … }
DataTypeSet DataTypeManagerImpl::GetActiveProxyDataTypes() const { … }
DataTypeManager::State DataTypeManagerImpl::state() const { … }
const DataTypeController::TypeMap& DataTypeManagerImpl::GetControllerMap()
const { … }
DataTypeSet DataTypeManagerImpl::GetEnabledTypes() const { … }
}