#include "components/data_sharing/internal/collaboration_group_sync_bridge.h"
#include <memory>
#include <string>
#include <unordered_map>
#include <utility>
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/notimplemented.h"
#include "base/sequence_checker.h"
#include "components/sync/base/data_type.h"
#include "components/sync/model/data_type_sync_bridge.h"
#include "components/sync/model/in_memory_metadata_change_list.h"
#include "components/sync/model/mutable_data_batch.h"
#include "components/sync/protocol/collaboration_group_specifics.pb.h"
#include "components/sync/protocol/entity_data.h"
#include "components/sync/protocol/entity_specifics.pb.h"
namespace data_sharing {
namespace {
std::unique_ptr<syncer::EntityData> SpecificsToEntityData(
const sync_pb::CollaborationGroupSpecifics& specifics) { … }
}
CollaborationGroupSyncBridge::CollaborationGroupSyncBridge(
std::unique_ptr<syncer::DataTypeLocalChangeProcessor> change_processor,
syncer::OnceDataTypeStoreFactory store_factory)
: … { … }
CollaborationGroupSyncBridge::~CollaborationGroupSyncBridge() { … }
std::unique_ptr<syncer::MetadataChangeList>
CollaborationGroupSyncBridge::CreateMetadataChangeList() { … }
std::optional<syncer::ModelError>
CollaborationGroupSyncBridge::MergeFullSyncData(
std::unique_ptr<syncer::MetadataChangeList> metadata_change_list,
syncer::EntityChangeList entity_change_list) { … }
std::optional<syncer::ModelError>
CollaborationGroupSyncBridge::ApplyIncrementalSyncChanges(
std::unique_ptr<syncer::MetadataChangeList> metadata_change_list,
syncer::EntityChangeList entity_changes) { … }
std::unique_ptr<syncer::DataBatch>
CollaborationGroupSyncBridge::GetDataForCommit(StorageKeyList storage_keys) { … }
std::unique_ptr<syncer::DataBatch>
CollaborationGroupSyncBridge::GetAllDataForDebugging() { … }
std::string CollaborationGroupSyncBridge::GetClientTag(
const syncer::EntityData& entity_data) { … }
std::string CollaborationGroupSyncBridge::GetStorageKey(
const syncer::EntityData& entity_data) { … }
void CollaborationGroupSyncBridge::ApplyDisableSyncChanges(
std::unique_ptr<syncer::MetadataChangeList> delete_metadata_change_list) { … }
bool CollaborationGroupSyncBridge::IsEntityDataValid(
const syncer::EntityData& entity_data) const { … }
void CollaborationGroupSyncBridge::OnDataTypeStoreCreated(
const std::optional<syncer::ModelError>& error,
std::unique_ptr<syncer::DataTypeStore> store) { … }
void CollaborationGroupSyncBridge::OnReadAllData(
const std::optional<syncer::ModelError>& error,
std::unique_ptr<syncer::DataTypeStore::RecordList> record_list) { … }
void CollaborationGroupSyncBridge::OnReadAllMetadata(
const std::optional<syncer::ModelError>& error,
std::unique_ptr<syncer::MetadataBatch> metadata_batch) { … }
void CollaborationGroupSyncBridge::OnDataTypeStoreCommit(
const std::optional<syncer::ModelError>& error) { … }
std::vector<GroupId> CollaborationGroupSyncBridge::GetCollaborationGroupIds()
const { … }
void CollaborationGroupSyncBridge::AddObserver(Observer* observer) { … }
void CollaborationGroupSyncBridge::RemoveObserver(Observer* observer) { … }
}