Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / sync / internal_api / sync_context_proxy_impl.cc
blobee17c72e4049d7408e994ddce2d420db5adfea97
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
3 // found in the LICENSE file.
5 #include "sync/internal_api/sync_context_proxy_impl.h"
7 #include "base/bind.h"
8 #include "base/location.h"
9 #include "base/single_thread_task_runner.h"
10 #include "base/thread_task_runner_handle.h"
11 #include "sync/internal_api/public/non_blocking_sync_common.h"
12 #include "sync/internal_api/public/sync_context.h"
14 namespace syncer {
16 SyncContextProxyImpl::SyncContextProxyImpl(
17 const scoped_refptr<base::SequencedTaskRunner>& sync_task_runner,
18 const base::WeakPtr<SyncContext>& sync_context)
19 : sync_task_runner_(sync_task_runner), sync_context_(sync_context) {
22 SyncContextProxyImpl::~SyncContextProxyImpl() {
25 void SyncContextProxyImpl::ConnectTypeToSync(
26 ModelType type,
27 const DataTypeState& data_type_state,
28 const UpdateResponseDataList& saved_pending_updates,
29 const base::WeakPtr<ModelTypeSyncProxyImpl>& type_sync_proxy) {
30 VLOG(1) << "ConnectTypeToSync: " << ModelTypeToString(type);
31 sync_task_runner_->PostTask(FROM_HERE,
32 base::Bind(&SyncContext::ConnectSyncTypeToWorker,
33 sync_context_,
34 type,
35 data_type_state,
36 saved_pending_updates,
37 base::ThreadTaskRunnerHandle::Get(),
38 type_sync_proxy));
41 void SyncContextProxyImpl::Disconnect(ModelType type) {
42 sync_task_runner_->PostTask(
43 FROM_HERE,
44 base::Bind(&SyncContext::DisconnectSyncWorker, sync_context_, type));
47 scoped_ptr<SyncContextProxy> SyncContextProxyImpl::Clone() const {
48 return scoped_ptr<SyncContextProxy>(
49 new SyncContextProxyImpl(sync_task_runner_, sync_context_));
52 } // namespace syncer