// 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/sync_context_proxy_impl.h" #include "base/bind.h" #include "base/location.h" #include "base/single_thread_task_runner.h" #include "sync/internal_api/public/activation_context.h" #include "sync/internal_api/public/sync_context.h" namespace syncer_v2 { SyncContextProxyImpl::SyncContextProxyImpl( const scoped_refptr& sync_task_runner, const base::WeakPtr& sync_context) : sync_task_runner_(sync_task_runner), sync_context_(sync_context) { } SyncContextProxyImpl::~SyncContextProxyImpl() { } void SyncContextProxyImpl::ConnectTypeToSync( syncer::ModelType type, scoped_ptr activation_context) { VLOG(1) << "ConnectTypeToSync: " << ModelTypeToString(type); sync_task_runner_->PostTask( FROM_HERE, base::Bind(&SyncContext::ConnectSyncTypeToWorker, sync_context_, type, base::Passed(&activation_context))); } void SyncContextProxyImpl::Disconnect(syncer::ModelType type) { sync_task_runner_->PostTask( FROM_HERE, base::Bind(&SyncContext::DisconnectSyncWorker, sync_context_, type)); } scoped_ptr SyncContextProxyImpl::Clone() const { return scoped_ptr( new SyncContextProxyImpl(sync_task_runner_, sync_context_)); } } // namespace syncer_v2