| 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/api/attachments/attachment_service_proxy.h" | 5 #include "sync/api/attachments/attachment_service_proxy.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 "sync/api/sync_data.h" | 9 #include "sync/api/sync_data.h" |
| 10 | 10 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 const AttachmentService::DropResult& result) { | 33 const AttachmentService::DropResult& result) { |
| 34 task_runner->PostTask(FROM_HERE, base::Bind(callback, result)); | 34 task_runner->PostTask(FROM_HERE, base::Bind(callback, result)); |
| 35 } | 35 } |
| 36 | 36 |
| 37 } // namespace | 37 } // namespace |
| 38 | 38 |
| 39 AttachmentServiceProxy::AttachmentServiceProxy() {} | 39 AttachmentServiceProxy::AttachmentServiceProxy() {} |
| 40 | 40 |
| 41 AttachmentServiceProxy::AttachmentServiceProxy( | 41 AttachmentServiceProxy::AttachmentServiceProxy( |
| 42 const scoped_refptr<base::SequencedTaskRunner>& wrapped_task_runner, | 42 const scoped_refptr<base::SequencedTaskRunner>& wrapped_task_runner, |
| 43 base::WeakPtr<syncer::AttachmentService> wrapped) | 43 const base::WeakPtr<syncer::AttachmentService>& wrapped) |
| 44 : wrapped_task_runner_(wrapped_task_runner), wrapped_(wrapped) { | 44 : wrapped_task_runner_(wrapped_task_runner), |
| 45 core_(new ForwardingCore(wrapped)) { |
| 45 DCHECK(wrapped_task_runner_); | 46 DCHECK(wrapped_task_runner_); |
| 46 } | 47 } |
| 47 | 48 |
| 49 AttachmentServiceProxy::AttachmentServiceProxy( |
| 50 const scoped_refptr<base::SequencedTaskRunner>& wrapped_task_runner, |
| 51 const scoped_refptr<ForwardingCore>& core) |
| 52 : wrapped_task_runner_(wrapped_task_runner), core_(core) { |
| 53 DCHECK(wrapped_task_runner_); |
| 54 DCHECK(core_); |
| 55 } |
| 56 |
| 48 AttachmentServiceProxy::~AttachmentServiceProxy() {} | 57 AttachmentServiceProxy::~AttachmentServiceProxy() {} |
| 49 | 58 |
| 50 void AttachmentServiceProxy::GetOrDownloadAttachments( | 59 void AttachmentServiceProxy::GetOrDownloadAttachments( |
| 51 const AttachmentIdList& attachment_ids, | 60 const AttachmentIdList& attachment_ids, |
| 52 const GetOrDownloadCallback& callback) { | 61 const GetOrDownloadCallback& callback) { |
| 53 DCHECK(wrapped_task_runner_); | 62 DCHECK(wrapped_task_runner_); |
| 54 GetOrDownloadCallback proxy_callback = base::Bind( | 63 GetOrDownloadCallback proxy_callback = base::Bind( |
| 55 &ProxyGetOrDownloadCallback, base::MessageLoopProxy::current(), callback); | 64 &ProxyGetOrDownloadCallback, base::MessageLoopProxy::current(), callback); |
| 56 wrapped_task_runner_->PostTask( | 65 wrapped_task_runner_->PostTask( |
| 57 FROM_HERE, | 66 FROM_HERE, |
| 58 base::Bind(&AttachmentService::GetOrDownloadAttachments, | 67 base::Bind(&AttachmentService::GetOrDownloadAttachments, |
| 59 wrapped_, | 68 core_, |
| 60 attachment_ids, | 69 attachment_ids, |
| 61 proxy_callback)); | 70 proxy_callback)); |
| 62 } | 71 } |
| 63 | 72 |
| 64 void AttachmentServiceProxy::DropAttachments( | 73 void AttachmentServiceProxy::DropAttachments( |
| 65 const AttachmentIdList& attachment_ids, | 74 const AttachmentIdList& attachment_ids, |
| 66 const DropCallback& callback) { | 75 const DropCallback& callback) { |
| 67 DCHECK(wrapped_task_runner_); | 76 DCHECK(wrapped_task_runner_); |
| 68 DropCallback proxy_callback = base::Bind( | 77 DropCallback proxy_callback = base::Bind( |
| 69 &ProxyDropCallback, base::MessageLoopProxy::current(), callback); | 78 &ProxyDropCallback, base::MessageLoopProxy::current(), callback); |
| 70 wrapped_task_runner_->PostTask(FROM_HERE, | 79 wrapped_task_runner_->PostTask(FROM_HERE, |
| 71 base::Bind(&AttachmentService::DropAttachments, | 80 base::Bind(&AttachmentService::DropAttachments, |
| 72 wrapped_, | 81 core_, |
| 73 attachment_ids, | 82 attachment_ids, |
| 74 proxy_callback)); | 83 proxy_callback)); |
| 75 } | 84 } |
| 76 | 85 |
| 77 void AttachmentServiceProxy::OnSyncDataAdd(const SyncData& sync_data) { | 86 void AttachmentServiceProxy::OnSyncDataAdd(const SyncData& sync_data) { |
| 78 DCHECK(wrapped_task_runner_); | 87 DCHECK(wrapped_task_runner_); |
| 79 wrapped_task_runner_->PostTask( | 88 wrapped_task_runner_->PostTask( |
| 80 FROM_HERE, | 89 FROM_HERE, |
| 81 base::Bind(&AttachmentService::OnSyncDataAdd, wrapped_, sync_data)); | 90 base::Bind(&AttachmentService::OnSyncDataAdd, core_, sync_data)); |
| 82 } | 91 } |
| 83 | 92 |
| 84 void AttachmentServiceProxy::OnSyncDataDelete(const SyncData& sync_data) { | 93 void AttachmentServiceProxy::OnSyncDataDelete(const SyncData& sync_data) { |
| 85 DCHECK(wrapped_task_runner_); | 94 DCHECK(wrapped_task_runner_); |
| 86 wrapped_task_runner_->PostTask( | 95 wrapped_task_runner_->PostTask( |
| 87 FROM_HERE, | 96 FROM_HERE, |
| 88 base::Bind(&AttachmentService::OnSyncDataDelete, wrapped_, sync_data)); | 97 base::Bind(&AttachmentService::OnSyncDataDelete, core_, sync_data)); |
| 89 } | 98 } |
| 90 | 99 |
| 91 void AttachmentServiceProxy::OnSyncDataUpdate( | 100 void AttachmentServiceProxy::OnSyncDataUpdate( |
| 92 const AttachmentIdList& old_attachment_ids, | 101 const AttachmentIdList& old_attachment_ids, |
| 93 const SyncData& updated_sync_data) { | 102 const SyncData& updated_sync_data) { |
| 94 DCHECK(wrapped_task_runner_); | 103 DCHECK(wrapped_task_runner_); |
| 95 wrapped_task_runner_->PostTask( | 104 wrapped_task_runner_->PostTask( |
| 96 FROM_HERE, | 105 FROM_HERE, |
| 97 base::Bind(&AttachmentService::OnSyncDataUpdate, | 106 base::Bind(&AttachmentService::OnSyncDataUpdate, |
| 98 wrapped_, | 107 core_, |
| 99 old_attachment_ids, | 108 old_attachment_ids, |
| 100 updated_sync_data)); | 109 updated_sync_data)); |
| 101 } | 110 } |
| 102 | 111 |
| 112 AttachmentServiceProxy::ForwardingCore::ForwardingCore( |
| 113 const base::WeakPtr<syncer::AttachmentService>& wrapped) |
| 114 : wrapped_(wrapped) {} |
| 115 |
| 116 AttachmentServiceProxy::ForwardingCore::~ForwardingCore() {} |
| 117 |
| 118 void AttachmentServiceProxy::ForwardingCore::GetOrDownloadAttachments( |
| 119 const AttachmentIdList& attachment_ids, |
| 120 const GetOrDownloadCallback& callback) { |
| 121 if (!wrapped_) { |
| 122 return; |
| 123 } |
| 124 wrapped_->GetOrDownloadAttachments(attachment_ids, callback); |
| 125 } |
| 126 |
| 127 void AttachmentServiceProxy::ForwardingCore::DropAttachments( |
| 128 const AttachmentIdList& attachment_ids, |
| 129 const DropCallback& callback) { |
| 130 if (!wrapped_) { |
| 131 return; |
| 132 } |
| 133 wrapped_->DropAttachments(attachment_ids, callback); |
| 134 } |
| 135 |
| 136 void AttachmentServiceProxy::ForwardingCore::OnSyncDataAdd( |
| 137 const SyncData& sync_data) { |
| 138 if (!wrapped_) { |
| 139 return; |
| 140 } |
| 141 wrapped_->OnSyncDataAdd(sync_data); |
| 142 } |
| 143 |
| 144 void AttachmentServiceProxy::ForwardingCore::OnSyncDataDelete( |
| 145 const SyncData& sync_data) { |
| 146 if (!wrapped_) { |
| 147 return; |
| 148 } |
| 149 wrapped_->OnSyncDataDelete(sync_data); |
| 150 } |
| 151 |
| 152 void AttachmentServiceProxy::ForwardingCore::OnSyncDataUpdate( |
| 153 const AttachmentIdList& old_attachment_ids, |
| 154 const SyncData& updated_sync_data) { |
| 155 if (!wrapped_) { |
| 156 return; |
| 157 } |
| 158 wrapped_->OnSyncDataUpdate(old_attachment_ids, updated_sync_data); |
| 159 } |
| 160 |
| 103 } // namespace syncer | 161 } // namespace syncer |
| OLD | NEW |