Index: sync/internal_api/attachments/in_memory_attachment_store.cc |
diff --git a/sync/internal_api/attachments/in_memory_attachment_store.cc b/sync/internal_api/attachments/in_memory_attachment_store.cc |
deleted file mode 100644 |
index 256a8ab69485065539c1665bf215b6702a372645..0000000000000000000000000000000000000000 |
--- a/sync/internal_api/attachments/in_memory_attachment_store.cc |
+++ /dev/null |
@@ -1,167 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "sync/internal_api/public/attachments/in_memory_attachment_store.h" |
- |
-#include <memory> |
- |
-#include "base/bind.h" |
-#include "base/callback.h" |
-#include "base/location.h" |
-#include "base/sequenced_task_runner.h" |
- |
-namespace syncer { |
- |
-namespace { |
- |
-void AppendMetadata(AttachmentMetadataList* list, |
- const Attachment& attachment) { |
- list->push_back( |
- AttachmentMetadata(attachment.GetId(), attachment.GetData()->size())); |
-} |
- |
-} // namespace |
- |
-InMemoryAttachmentStore::InMemoryAttachmentStore( |
- const scoped_refptr<base::SequencedTaskRunner>& callback_task_runner) |
- : AttachmentStoreBackend(callback_task_runner) { |
- // Object is created on one thread but used on another. |
- DetachFromThread(); |
-} |
- |
-InMemoryAttachmentStore::~InMemoryAttachmentStore() { |
-} |
- |
-void InMemoryAttachmentStore::Init( |
- const AttachmentStore::InitCallback& callback) { |
- DCHECK(CalledOnValidThread()); |
- PostCallback(base::Bind(callback, AttachmentStore::SUCCESS)); |
-} |
- |
-void InMemoryAttachmentStore::Read( |
- AttachmentStore::Component component, |
- const AttachmentIdList& ids, |
- const AttachmentStore::ReadCallback& callback) { |
- DCHECK(CalledOnValidThread()); |
- AttachmentStore::Result result_code = AttachmentStore::SUCCESS; |
- std::unique_ptr<AttachmentMap> result_map(new AttachmentMap); |
- std::unique_ptr<AttachmentIdList> unavailable_attachments( |
- new AttachmentIdList); |
- |
- for (const auto& id : ids) { |
- AttachmentEntryMap::iterator iter = attachments_.find(id); |
- if (iter != attachments_.end() && |
- iter->second.components.count(component) > 0) { |
- const Attachment& attachment = iter->second.attachment; |
- result_map->insert(std::make_pair(id, attachment)); |
- } else { |
- unavailable_attachments->push_back(id); |
- } |
- } |
- if (!unavailable_attachments->empty()) { |
- result_code = AttachmentStore::UNSPECIFIED_ERROR; |
- } |
- PostCallback(base::Bind(callback, result_code, base::Passed(&result_map), |
- base::Passed(&unavailable_attachments))); |
-} |
- |
-void InMemoryAttachmentStore::Write( |
- AttachmentStore::Component component, |
- const AttachmentList& attachments, |
- const AttachmentStore::WriteCallback& callback) { |
- DCHECK(CalledOnValidThread()); |
- for (const auto& attachment : attachments) { |
- attachments_.insert(std::make_pair(attachment.GetId(), |
- AttachmentEntry(attachment, component))); |
- } |
- PostCallback(base::Bind(callback, AttachmentStore::SUCCESS)); |
-} |
- |
-void InMemoryAttachmentStore::SetReference(AttachmentStore::Component component, |
- const AttachmentIdList& ids) { |
- DCHECK(CalledOnValidThread()); |
- for (const auto& id : ids) { |
- AttachmentEntryMap::iterator attachments_iter = attachments_.find(id); |
- if (attachments_iter != attachments_.end()) { |
- attachments_iter->second.components.insert(component); |
- } |
- } |
-} |
- |
-void InMemoryAttachmentStore::DropReference( |
- AttachmentStore::Component component, |
- const AttachmentIdList& ids, |
- const AttachmentStore::DropCallback& callback) { |
- DCHECK(CalledOnValidThread()); |
- AttachmentStore::Result result = AttachmentStore::SUCCESS; |
- for (const auto& id : ids) { |
- AttachmentEntryMap::iterator attachments_iter = attachments_.find(id); |
- if (attachments_iter == attachments_.end()) { |
- continue; |
- } |
- attachments_iter->second.components.erase(component); |
- if (attachments_iter->second.components.empty()) { |
- attachments_.erase(attachments_iter); |
- } |
- } |
- PostCallback(base::Bind(callback, result)); |
-} |
- |
-void InMemoryAttachmentStore::ReadMetadataById( |
- AttachmentStore::Component component, |
- const AttachmentIdList& ids, |
- const AttachmentStore::ReadMetadataCallback& callback) { |
- DCHECK(CalledOnValidThread()); |
- AttachmentStore::Result result_code = AttachmentStore::SUCCESS; |
- std::unique_ptr<AttachmentMetadataList> metadata_list( |
- new AttachmentMetadataList()); |
- |
- for (const auto& id : ids) { |
- AttachmentEntryMap::iterator iter = attachments_.find(id); |
- if (iter == attachments_.end()) { |
- result_code = AttachmentStore::UNSPECIFIED_ERROR; |
- continue; |
- } |
- DCHECK_GT(iter->second.components.size(), 0u); |
- if (iter->second.components.count(component) == 0) { |
- result_code = AttachmentStore::UNSPECIFIED_ERROR; |
- continue; |
- } |
- AppendMetadata(metadata_list.get(), iter->second.attachment); |
- } |
- PostCallback(base::Bind(callback, result_code, base::Passed(&metadata_list))); |
-} |
- |
-void InMemoryAttachmentStore::ReadMetadata( |
- AttachmentStore::Component component, |
- const AttachmentStore::ReadMetadataCallback& callback) { |
- DCHECK(CalledOnValidThread()); |
- AttachmentStore::Result result_code = AttachmentStore::SUCCESS; |
- std::unique_ptr<AttachmentMetadataList> metadata_list( |
- new AttachmentMetadataList()); |
- |
- for (AttachmentEntryMap::const_iterator iter = attachments_.begin(); |
- iter != attachments_.end(); ++iter) { |
- DCHECK_GT(iter->second.components.size(), 0u); |
- if (iter->second.components.count(component) > 0) { |
- AppendMetadata(metadata_list.get(), iter->second.attachment); |
- } |
- } |
- PostCallback(base::Bind(callback, result_code, base::Passed(&metadata_list))); |
-} |
- |
-InMemoryAttachmentStore::AttachmentEntry::AttachmentEntry( |
- const Attachment& attachment, |
- AttachmentStore::Component initial_reference_component) |
- : attachment(attachment) { |
- components.insert(initial_reference_component); |
-} |
- |
-InMemoryAttachmentStore::AttachmentEntry::AttachmentEntry( |
- const AttachmentEntry& other) = default; |
- |
-InMemoryAttachmentStore::AttachmentEntry::~AttachmentEntry() { |
-} |
- |
-} // namespace syncer |