#include "components/sync/model/processor_entity.h"
#include <utility>
#include "base/base64.h"
#include "base/hash/sha1.h"
#include "base/memory/ptr_util.h"
#include "base/trace_event/memory_usage_estimator.h"
#include "components/sync/base/client_tag_hash.h"
#include "components/sync/base/deletion_origin.h"
#include "components/sync/base/features.h"
#include "components/sync/base/time.h"
#include "components/sync/engine/commit_and_get_updates_types.h"
#include "components/sync/protocol/entity_data.h"
#include "components/sync/protocol/entity_specifics.pb.h"
#include "components/sync/protocol/proto_memory_estimations.h"
#include "components/sync/protocol/unique_position.pb.h"
#include "components/version_info/version_info.h"
namespace syncer {
namespace {
std::string HashSpecifics(const sync_pb::EntitySpecifics& specifics) { … }
}
std::unique_ptr<ProcessorEntity> ProcessorEntity::CreateNew(
const std::string& storage_key,
const ClientTagHash& client_tag_hash,
const std::string& id,
base::Time creation_time) { … }
std::unique_ptr<ProcessorEntity> ProcessorEntity::CreateFromMetadata(
const std::string& storage_key,
sync_pb::EntityMetadata metadata) { … }
ProcessorEntity::ProcessorEntity(const std::string& storage_key,
sync_pb::EntityMetadata metadata)
: … { … }
ProcessorEntity::~ProcessorEntity() = default;
void ProcessorEntity::SetStorageKey(const std::string& storage_key) { … }
void ProcessorEntity::ClearStorageKey() { … }
void ProcessorEntity::SetCommitData(std::unique_ptr<EntityData> data) { … }
bool ProcessorEntity::HasCommitData() const { … }
bool ProcessorEntity::MatchesData(const EntityData& data) const { … }
bool ProcessorEntity::MatchesOwnBaseData() const { … }
bool ProcessorEntity::MatchesBaseData(const EntityData& data) const { … }
bool ProcessorEntity::IsUnsynced() const { … }
bool ProcessorEntity::RequiresCommitRequest() const { … }
bool ProcessorEntity::RequiresCommitData() const { … }
bool ProcessorEntity::CanClearMetadata() const { … }
bool ProcessorEntity::IsVersionAlreadyKnown(int64_t update_version) const { … }
void ProcessorEntity::RecordIgnoredRemoteUpdate(
const UpdateResponseData& update) { … }
void ProcessorEntity::RecordAcceptedRemoteUpdate(
const UpdateResponseData& update,
sync_pb::EntitySpecifics trimmed_specifics,
std::optional<sync_pb::UniquePosition> unique_position) { … }
void ProcessorEntity::RecordForcedRemoteUpdate(
const UpdateResponseData& update,
sync_pb::EntitySpecifics trimmed_specifics,
std::optional<sync_pb::UniquePosition> unique_position) { … }
void ProcessorEntity::RecordLocalUpdate(
std::unique_ptr<EntityData> data,
sync_pb::EntitySpecifics trimmed_specifics,
std::optional<sync_pb::UniquePosition> unique_position) { … }
bool ProcessorEntity::RecordLocalDeletion(const DeletionOrigin& origin) { … }
void ProcessorEntity::InitializeCommitRequestData(CommitRequestData* request) { … }
void ProcessorEntity::ReceiveCommitResponse(const CommitResponseData& data,
bool commit_only) { … }
void ProcessorEntity::ClearTransientSyncState() { … }
void ProcessorEntity::IncrementSequenceNumber(base::Time modification_time) { … }
size_t ProcessorEntity::EstimateMemoryUsage() const { … }
bool ProcessorEntity::MatchesSpecificsHash(
const sync_pb::EntitySpecifics& specifics) const { … }
void ProcessorEntity::UpdateSpecificsHash(
const sync_pb::EntitySpecifics& specifics) { … }
}