blob: 1f7d73026155f595057529c119a6390552c18988 [file] [log] [blame]
// 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 "components/sync/engine_impl/model_type_connector_proxy.h"
#include <utility>
#include "base/bind.h"
#include "base/location.h"
#include "components/sync/engine/data_type_activation_response.h"
namespace syncer {
ModelTypeConnectorProxy::ModelTypeConnectorProxy(
const scoped_refptr<base::SequencedTaskRunner>& task_runner,
const base::WeakPtr<ModelTypeConnector>& model_type_connector)
: task_runner_(task_runner), model_type_connector_(model_type_connector) {}
ModelTypeConnectorProxy::~ModelTypeConnectorProxy() {}
void ModelTypeConnectorProxy::ConnectNonBlockingType(
ModelType type,
std::unique_ptr<DataTypeActivationResponse> activation_response) {
task_runner_->PostTask(
FROM_HERE, base::BindOnce(&ModelTypeConnector::ConnectNonBlockingType,
model_type_connector_, type,
std::move(activation_response)));
}
void ModelTypeConnectorProxy::DisconnectNonBlockingType(ModelType type) {
task_runner_->PostTask(
FROM_HERE, base::BindOnce(&ModelTypeConnector::DisconnectNonBlockingType,
model_type_connector_, type));
}
void ModelTypeConnectorProxy::RegisterDirectoryType(ModelType type,
ModelSafeGroup group) {
task_runner_->PostTask(
FROM_HERE, base::BindOnce(&ModelTypeConnector::RegisterDirectoryType,
model_type_connector_, type, group));
}
void ModelTypeConnectorProxy::UnregisterDirectoryType(ModelType type) {
task_runner_->PostTask(
FROM_HERE, base::BindOnce(&ModelTypeConnector::UnregisterDirectoryType,
model_type_connector_, type));
}
} // namespace syncer