#include "components/reading_list/core/reading_list_model_storage_impl.h"
#include <utility>
#include "base/check_op.h"
#include "base/functional/bind.h"
#include "base/memory/scoped_refptr.h"
#include "base/time/clock.h"
#include "base/trace_event/trace_event.h"
#include "components/reading_list/core/proto/reading_list.pb.h"
#include "components/sync/model/metadata_batch.h"
#include "url/gurl.h"
ReadingListModelStorageImpl::ScopedBatchUpdate::ScopedBatchUpdate(
ReadingListModelStorageImpl* store)
: … { … }
ReadingListModelStorageImpl::ScopedBatchUpdate::~ScopedBatchUpdate() { … }
void ReadingListModelStorageImpl::ScopedBatchUpdate::SaveEntry(
const ReadingListEntry& entry) { … }
void ReadingListModelStorageImpl::ScopedBatchUpdate::RemoveEntry(
const GURL& entry_url) { … }
ReadingListModelStorageImpl::ReadingListModelStorageImpl(
syncer::OnceDataTypeStoreFactory create_store_callback)
: … { … }
ReadingListModelStorageImpl::~ReadingListModelStorageImpl() { … }
void ReadingListModelStorageImpl::Load(base::Clock* clock,
LoadCallback load_cb) { … }
std::unique_ptr<ReadingListModelStorage::ScopedBatchUpdate>
ReadingListModelStorageImpl::EnsureBatchCreated() { … }
void ReadingListModelStorageImpl::DeleteAllEntriesAndSyncMetadata() { … }
syncer::MetadataChangeList*
ReadingListModelStorageImpl::ScopedBatchUpdate::GetSyncMetadataChangeList() { … }
void ReadingListModelStorageImpl::BeginTransaction() { … }
void ReadingListModelStorageImpl::CommitTransaction() { … }
void ReadingListModelStorageImpl::OnDatabaseLoad(
const std::optional<syncer::ModelError>& error,
std::unique_ptr<syncer::DataTypeStore::RecordList> entries) { … }
void ReadingListModelStorageImpl::OnReadAllMetadata(
ReadingListEntries loaded_entries,
const std::optional<syncer::ModelError>& error,
std::unique_ptr<syncer::MetadataBatch> metadata_batch) { … }
void ReadingListModelStorageImpl::OnDatabaseSave(
const std::optional<syncer::ModelError>& error) { … }
void ReadingListModelStorageImpl::OnStoreCreated(
const std::optional<syncer::ModelError>& error,
std::unique_ptr<syncer::DataTypeStore> store) { … }