#include "components/sync/nigori/nigori_data_type_processor.h"
#include <optional>
#include <vector>
#include "base/logging.h"
#include "base/trace_event/trace_event.h"
#include "components/sync/base/client_tag_hash.h"
#include "components/sync/base/data_type_histogram.h"
#include "components/sync/base/time.h"
#include "components/sync/engine/commit_queue.h"
#include "components/sync/engine/data_type_activation_response.h"
#include "components/sync/engine/data_type_processor_metrics.h"
#include "components/sync/engine/forwarding_data_type_processor.h"
#include "components/sync/model/processor_entity.h"
#include "components/sync/model/type_entities_count.h"
#include "components/sync/nigori/nigori_sync_bridge.h"
#include "components/sync/protocol/data_type_state.pb.h"
#include "components/sync/protocol/data_type_state_helper.h"
#include "components/sync/protocol/entity_metadata.pb.h"
#include "components/sync/protocol/entity_specifics.pb.h"
#include "components/sync/protocol/proto_memory_estimations.h"
#include "components/sync/protocol/proto_value_conversions.h"
namespace syncer {
namespace {
const char kNigoriStorageKey[] = …;
const char kRawNigoriClientTagHash[] = …;
}
NigoriDataTypeProcessor::NigoriDataTypeProcessor() = default;
NigoriDataTypeProcessor::~NigoriDataTypeProcessor() { … }
void NigoriDataTypeProcessor::ConnectSync(
std::unique_ptr<CommitQueue> worker) { … }
void NigoriDataTypeProcessor::DisconnectSync() { … }
void NigoriDataTypeProcessor::GetLocalChanges(
size_t max_entries,
GetLocalChangesCallback callback) { … }
void NigoriDataTypeProcessor::OnCommitCompleted(
const sync_pb::DataTypeState& type_state,
const CommitResponseDataList& committed_response_list,
const FailedCommitResponseDataList& error_response_list) { … }
void NigoriDataTypeProcessor::OnUpdateReceived(
const sync_pb::DataTypeState& type_state,
UpdateResponseDataList updates,
std::optional<sync_pb::GarbageCollectionDirective> gc_directive) { … }
void NigoriDataTypeProcessor::StorePendingInvalidations(
std::vector<sync_pb::DataTypeState::Invalidation> invalidations_to_store) { … }
void NigoriDataTypeProcessor::OnSyncStarting(
const DataTypeActivationRequest& request,
StartCallback callback) { … }
void NigoriDataTypeProcessor::OnSyncStopping(
SyncStopMetadataFate metadata_fate) { … }
void NigoriDataTypeProcessor::HasUnsyncedData(
base::OnceCallback<void(bool)> callback) { … }
void NigoriDataTypeProcessor::GetAllNodesForDebugging(
AllNodesCallback callback) { … }
void NigoriDataTypeProcessor::GetTypeEntitiesCountForDebugging(
base::OnceCallback<void(const TypeEntitiesCount&)> callback) const { … }
void NigoriDataTypeProcessor::RecordMemoryUsageAndCountsHistograms() { … }
void NigoriDataTypeProcessor::ModelReadyToSync(
NigoriSyncBridge* bridge,
NigoriMetadataBatch nigori_metadata) { … }
void NigoriDataTypeProcessor::Put(std::unique_ptr<EntityData> entity_data) { … }
bool NigoriDataTypeProcessor::IsEntityUnsynced() { … }
NigoriMetadataBatch NigoriDataTypeProcessor::GetMetadata() { … }
void NigoriDataTypeProcessor::ReportError(const ModelError& error) { … }
base::WeakPtr<DataTypeControllerDelegate>
NigoriDataTypeProcessor::GetControllerDelegate() { … }
bool NigoriDataTypeProcessor::IsConnectedForTest() const { … }
const sync_pb::DataTypeState&
NigoriDataTypeProcessor::GetDataTypeStateForTest() { … }
bool NigoriDataTypeProcessor::IsTrackingMetadata() { … }
bool NigoriDataTypeProcessor::IsConnected() const { … }
void NigoriDataTypeProcessor::ConnectIfReady() { … }
void NigoriDataTypeProcessor::NudgeForCommitIfNeeded() const { … }
void NigoriDataTypeProcessor::ClearMetadataAndReset() { … }
void NigoriDataTypeProcessor::ClearMetadataIfStopped() { … }
void NigoriDataTypeProcessor::ReportBridgeErrorForTest() { … }
}