| Index: sync/api/attachments/attachment_service_proxy.cc
|
| diff --git a/sync/api/attachments/attachment_service_proxy.cc b/sync/api/attachments/attachment_service_proxy.cc
|
| index 065f467b54688c60edf42effc0494320285fe03a..b95a41faa38d367acffb69f52f6ffb0c47458370 100644
|
| --- a/sync/api/attachments/attachment_service_proxy.cc
|
| +++ b/sync/api/attachments/attachment_service_proxy.cc
|
| @@ -36,16 +36,26 @@ void ProxyDropCallback(
|
|
|
| } // namespace
|
|
|
| -AttachmentServiceProxy::AttachmentServiceProxy() {}
|
| +AttachmentServiceProxy::AttachmentServiceProxy() {
|
| +}
|
|
|
| AttachmentServiceProxy::AttachmentServiceProxy(
|
| const scoped_refptr<base::SequencedTaskRunner>& wrapped_task_runner,
|
| - base::WeakPtr<syncer::AttachmentService> wrapped)
|
| - : wrapped_task_runner_(wrapped_task_runner), wrapped_(wrapped) {
|
| + const base::WeakPtr<syncer::AttachmentService>& wrapped)
|
| + : wrapped_task_runner_(wrapped_task_runner), core_(new Core(wrapped)) {
|
| DCHECK(wrapped_task_runner_);
|
| }
|
|
|
| -AttachmentServiceProxy::~AttachmentServiceProxy() {}
|
| +AttachmentServiceProxy::AttachmentServiceProxy(
|
| + const scoped_refptr<base::SequencedTaskRunner>& wrapped_task_runner,
|
| + const scoped_refptr<Core>& core)
|
| + : wrapped_task_runner_(wrapped_task_runner), core_(core) {
|
| + DCHECK(wrapped_task_runner_);
|
| + DCHECK(core_);
|
| +}
|
| +
|
| +AttachmentServiceProxy::~AttachmentServiceProxy() {
|
| +}
|
|
|
| void AttachmentServiceProxy::GetOrDownloadAttachments(
|
| const AttachmentIdList& attachment_ids,
|
| @@ -56,7 +66,7 @@ void AttachmentServiceProxy::GetOrDownloadAttachments(
|
| wrapped_task_runner_->PostTask(
|
| FROM_HERE,
|
| base::Bind(&AttachmentService::GetOrDownloadAttachments,
|
| - wrapped_,
|
| + core_,
|
| attachment_ids,
|
| proxy_callback));
|
| }
|
| @@ -69,7 +79,7 @@ void AttachmentServiceProxy::DropAttachments(
|
| &ProxyDropCallback, base::MessageLoopProxy::current(), callback);
|
| wrapped_task_runner_->PostTask(FROM_HERE,
|
| base::Bind(&AttachmentService::DropAttachments,
|
| - wrapped_,
|
| + core_,
|
| attachment_ids,
|
| proxy_callback));
|
| }
|
| @@ -78,14 +88,14 @@ void AttachmentServiceProxy::OnSyncDataAdd(const SyncData& sync_data) {
|
| DCHECK(wrapped_task_runner_);
|
| wrapped_task_runner_->PostTask(
|
| FROM_HERE,
|
| - base::Bind(&AttachmentService::OnSyncDataAdd, wrapped_, sync_data));
|
| + base::Bind(&AttachmentService::OnSyncDataAdd, core_, sync_data));
|
| }
|
|
|
| void AttachmentServiceProxy::OnSyncDataDelete(const SyncData& sync_data) {
|
| DCHECK(wrapped_task_runner_);
|
| wrapped_task_runner_->PostTask(
|
| FROM_HERE,
|
| - base::Bind(&AttachmentService::OnSyncDataDelete, wrapped_, sync_data));
|
| + base::Bind(&AttachmentService::OnSyncDataDelete, core_, sync_data));
|
| }
|
|
|
| void AttachmentServiceProxy::OnSyncDataUpdate(
|
| @@ -95,9 +105,58 @@ void AttachmentServiceProxy::OnSyncDataUpdate(
|
| wrapped_task_runner_->PostTask(
|
| FROM_HERE,
|
| base::Bind(&AttachmentService::OnSyncDataUpdate,
|
| - wrapped_,
|
| + core_,
|
| old_attachment_ids,
|
| updated_sync_data));
|
| }
|
|
|
| +AttachmentServiceProxy::Core::Core(
|
| + const base::WeakPtr<syncer::AttachmentService>& wrapped)
|
| + : wrapped_(wrapped) {
|
| +}
|
| +
|
| +AttachmentServiceProxy::Core::~Core() {
|
| +}
|
| +
|
| +void AttachmentServiceProxy::Core::GetOrDownloadAttachments(
|
| + const AttachmentIdList& attachment_ids,
|
| + const GetOrDownloadCallback& callback) {
|
| + if (!wrapped_) {
|
| + return;
|
| + }
|
| + wrapped_->GetOrDownloadAttachments(attachment_ids, callback);
|
| +}
|
| +
|
| +void AttachmentServiceProxy::Core::DropAttachments(
|
| + const AttachmentIdList& attachment_ids,
|
| + const DropCallback& callback) {
|
| + if (!wrapped_) {
|
| + return;
|
| + }
|
| + wrapped_->DropAttachments(attachment_ids, callback);
|
| +}
|
| +
|
| +void AttachmentServiceProxy::Core::OnSyncDataAdd(const SyncData& sync_data) {
|
| + if (!wrapped_) {
|
| + return;
|
| + }
|
| + wrapped_->OnSyncDataAdd(sync_data);
|
| +}
|
| +
|
| +void AttachmentServiceProxy::Core::OnSyncDataDelete(const SyncData& sync_data) {
|
| + if (!wrapped_) {
|
| + return;
|
| + }
|
| + wrapped_->OnSyncDataDelete(sync_data);
|
| +}
|
| +
|
| +void AttachmentServiceProxy::Core::OnSyncDataUpdate(
|
| + const AttachmentIdList& old_attachment_ids,
|
| + const SyncData& updated_sync_data) {
|
| + if (!wrapped_) {
|
| + return;
|
| + }
|
| + wrapped_->OnSyncDataUpdate(old_attachment_ids, updated_sync_data);
|
| +}
|
| +
|
| } // namespace syncer
|
|
|