#include "components/plus_addresses/webdata/plus_address_sync_bridge.h"
#include <memory>
#include <optional>
#include "base/check.h"
#include "base/notreached.h"
#include "base/ranges/algorithm.h"
#include "components/affiliations/core/browser/affiliation_utils.h"
#include "components/plus_addresses/plus_address_types.h"
#include "components/plus_addresses/webdata/plus_address_sync_util.h"
#include "components/plus_addresses/webdata/plus_address_table.h"
#include "components/sync/base/data_type.h"
#include "components/sync/model/client_tag_based_data_type_processor.h"
#include "components/sync/model/entity_change.h"
#include "components/sync/model/in_memory_metadata_change_list.h"
#include "components/sync/model/mutable_data_batch.h"
#include "components/sync/model/sync_metadata_store_change_list.h"
#include "components/sync/protocol/entity_data.h"
#include "components/webdata/common/web_database.h"
#include "components/webdata/common/web_database_backend.h"
#include "sql/transaction.h"
namespace plus_addresses {
PlusAddressSyncBridge::PlusAddressSyncBridge(
std::unique_ptr<syncer::DataTypeLocalChangeProcessor> change_processor,
scoped_refptr<WebDatabaseBackend> db_backend,
DataChangedBySyncCallback notify_data_changed_by_sync)
: … { … }
PlusAddressSyncBridge::~PlusAddressSyncBridge() = default;
std::unique_ptr<syncer::MetadataChangeList>
PlusAddressSyncBridge::CreateMetadataChangeList() { … }
std::optional<syncer::ModelError> PlusAddressSyncBridge::MergeFullSyncData(
std::unique_ptr<syncer::MetadataChangeList> metadata_change_list,
syncer::EntityChangeList entity_data) { … }
std::optional<syncer::ModelError>
PlusAddressSyncBridge::ApplyIncrementalSyncChanges(
std::unique_ptr<syncer::MetadataChangeList> metadata_change_list,
syncer::EntityChangeList entity_changes) { … }
void PlusAddressSyncBridge::ApplyDisableSyncChanges(
std::unique_ptr<syncer::MetadataChangeList> delete_metadata_change_list) { … }
std::unique_ptr<syncer::DataBatch> PlusAddressSyncBridge::GetDataForCommit(
StorageKeyList storage_keys) { … }
std::unique_ptr<syncer::DataBatch>
PlusAddressSyncBridge::GetAllDataForDebugging() { … }
bool PlusAddressSyncBridge::IsEntityDataValid(
const syncer::EntityData& entity_data) const { … }
std::string PlusAddressSyncBridge::GetClientTag(
const syncer::EntityData& entity_data) { … }
std::string PlusAddressSyncBridge::GetStorageKey(
const syncer::EntityData& entity_data) { … }
PlusAddressTable* PlusAddressSyncBridge::GetPlusAddressTable() { … }
std::optional<syncer::ModelError>
PlusAddressSyncBridge::TransferMetadataChanges(
std::unique_ptr<syncer::MetadataChangeList> metadata_change_list) { … }
}