| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "sync/internal_api/public/attachments/attachment_service_impl.h" | 5 #include "sync/internal_api/public/attachments/attachment_service_impl.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 #include "base/thread_task_runner_handle.h" | 9 #include "base/thread_task_runner_handle.h" |
| 10 #include "sync/api/attachments/attachment.h" | 10 #include "sync/api/attachments/attachment.h" |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 // All requests completed. Let's notify consumer. | 101 // All requests completed. Let's notify consumer. |
| 102 GetOrDownloadResult result = | 102 GetOrDownloadResult result = |
| 103 unavailable_attachments_.empty() ? GET_SUCCESS : GET_UNSPECIFIED_ERROR; | 103 unavailable_attachments_.empty() ? GET_SUCCESS : GET_UNSPECIFIED_ERROR; |
| 104 base::MessageLoop::current()->PostTask( | 104 base::MessageLoop::current()->PostTask( |
| 105 FROM_HERE, | 105 FROM_HERE, |
| 106 base::Bind(callback_, result, base::Passed(&retrieved_attachments_))); | 106 base::Bind(callback_, result, base::Passed(&retrieved_attachments_))); |
| 107 } | 107 } |
| 108 } | 108 } |
| 109 | 109 |
| 110 AttachmentServiceImpl::AttachmentServiceImpl( | 110 AttachmentServiceImpl::AttachmentServiceImpl( |
| 111 scoped_ptr<AttachmentStore> attachment_store, | 111 scoped_refptr<AttachmentStore> attachment_store, |
| 112 scoped_ptr<AttachmentUploader> attachment_uploader, | 112 scoped_ptr<AttachmentUploader> attachment_uploader, |
| 113 scoped_ptr<AttachmentDownloader> attachment_downloader, | 113 scoped_ptr<AttachmentDownloader> attachment_downloader, |
| 114 Delegate* delegate) | 114 Delegate* delegate) |
| 115 : attachment_store_(attachment_store.Pass()), | 115 : attachment_store_(attachment_store), |
| 116 attachment_uploader_(attachment_uploader.Pass()), | 116 attachment_uploader_(attachment_uploader.Pass()), |
| 117 attachment_downloader_(attachment_downloader.Pass()), | 117 attachment_downloader_(attachment_downloader.Pass()), |
| 118 delegate_(delegate), | 118 delegate_(delegate), |
| 119 weak_ptr_factory_(this) { | 119 weak_ptr_factory_(this) { |
| 120 DCHECK(CalledOnValidThread()); | 120 DCHECK(CalledOnValidThread()); |
| 121 DCHECK(attachment_store_); | 121 DCHECK(attachment_store_); |
| 122 } | 122 } |
| 123 | 123 |
| 124 AttachmentServiceImpl::~AttachmentServiceImpl() { | 124 AttachmentServiceImpl::~AttachmentServiceImpl() { |
| 125 DCHECK(CalledOnValidThread()); | 125 DCHECK(CalledOnValidThread()); |
| 126 } | 126 } |
| 127 | 127 |
| 128 // Static. | 128 // Static. |
| 129 scoped_ptr<syncer::AttachmentService> AttachmentServiceImpl::CreateForTest() { | 129 scoped_ptr<syncer::AttachmentService> AttachmentServiceImpl::CreateForTest() { |
| 130 scoped_ptr<syncer::AttachmentStore> attachment_store( | 130 scoped_refptr<syncer::AttachmentStore> attachment_store( |
| 131 new syncer::FakeAttachmentStore(base::ThreadTaskRunnerHandle::Get())); | 131 new syncer::FakeAttachmentStore(base::ThreadTaskRunnerHandle::Get())); |
| 132 scoped_ptr<AttachmentUploader> attachment_uploader( | 132 scoped_ptr<AttachmentUploader> attachment_uploader( |
| 133 new FakeAttachmentUploader); | 133 new FakeAttachmentUploader); |
| 134 scoped_ptr<AttachmentDownloader> attachment_downloader( | 134 scoped_ptr<AttachmentDownloader> attachment_downloader( |
| 135 new FakeAttachmentDownloader()); | 135 new FakeAttachmentDownloader()); |
| 136 scoped_ptr<syncer::AttachmentService> attachment_service( | 136 scoped_ptr<syncer::AttachmentService> attachment_service( |
| 137 new syncer::AttachmentServiceImpl(attachment_store.Pass(), | 137 new syncer::AttachmentServiceImpl(attachment_store, |
| 138 attachment_uploader.Pass(), | 138 attachment_uploader.Pass(), |
| 139 attachment_downloader.Pass(), | 139 attachment_downloader.Pass(), |
| 140 NULL)); | 140 NULL)); |
| 141 return attachment_service.Pass(); | 141 return attachment_service.Pass(); |
| 142 } | 142 } |
| 143 | 143 |
| 144 void AttachmentServiceImpl::GetOrDownloadAttachments( | 144 void AttachmentServiceImpl::GetOrDownloadAttachments( |
| 145 const AttachmentIdList& attachment_ids, | 145 const AttachmentIdList& attachment_ids, |
| 146 const GetOrDownloadCallback& callback) { | 146 const GetOrDownloadCallback& callback) { |
| 147 DCHECK(CalledOnValidThread()); | 147 DCHECK(CalledOnValidThread()); |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 255 const AttachmentDownloader::DownloadResult& result, | 255 const AttachmentDownloader::DownloadResult& result, |
| 256 scoped_ptr<Attachment> attachment) { | 256 scoped_ptr<Attachment> attachment) { |
| 257 if (result == AttachmentDownloader::DOWNLOAD_SUCCESS) { | 257 if (result == AttachmentDownloader::DOWNLOAD_SUCCESS) { |
| 258 state->AddAttachment(*attachment.get()); | 258 state->AddAttachment(*attachment.get()); |
| 259 } else { | 259 } else { |
| 260 state->AddUnavailableAttachmentId(attachment_id); | 260 state->AddUnavailableAttachmentId(attachment_id); |
| 261 } | 261 } |
| 262 } | 262 } |
| 263 | 263 |
| 264 } // namespace syncer | 264 } // namespace syncer |
| OLD | NEW |