chromium/components/sync/service/non_ui_syncable_service_based_data_type_controller.h

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_SYNC_SERVICE_NON_UI_SYNCABLE_SERVICE_BASED_DATA_TYPE_CONTROLLER_H_
#define COMPONENTS_SYNC_SERVICE_NON_UI_SYNCABLE_SERVICE_BASED_DATA_TYPE_CONTROLLER_H_

#include "base/functional/callback_forward.h"
#include "base/memory/scoped_refptr.h"
#include "base/memory/weak_ptr.h"
#include "base/task/sequenced_task_runner.h"
#include "components/sync/base/data_type.h"
#include "components/sync/model/data_type_store.h"
#include "components/sync/service/data_type_controller.h"

namespace syncer {

class SyncableService;

// Controller responsible for integrating legacy data type implementations
// (SyncableService) within the new sync architecture (USS), for types living
// outside the UI thread.
// This requires interacting with the SyncableService in a model thread that is
// not the UI thread, including the construction and destruction of objects
// (most notably SyncableServiceBasedBridge) in the model thread as specified
// in the constructor.
class NonUiSyncableServiceBasedDataTypeController
    : public DataTypeController {};

}  // namespace syncer

#endif  // COMPONENTS_SYNC_SERVICE_NON_UI_SYNCABLE_SERVICE_BASED_DATA_TYPE_CONTROLLER_H_