chromium/components/sync/model/forwarding_data_type_controller_delegate.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_MODEL_FORWARDING_DATA_TYPE_CONTROLLER_DELEGATE_H_
#define COMPONENTS_SYNC_MODEL_FORWARDING_DATA_TYPE_CONTROLLER_DELEGATE_H_

#include "base/memory/raw_ptr.h"
#include "components/sync/model/data_type_controller_delegate.h"

namespace syncer {

// Trivial implementation of DataTypeControllerDelegate that simply forwards
// call to another delegate (no task posting involved). This is useful when an
// API requires transferring ownership, but the calling site also wants to keep
// ownership of the actual implementation, and can guarantee the lifetime
// constraints.
class ForwardingDataTypeControllerDelegate
    : public DataTypeControllerDelegate {};

}  // namespace syncer

#endif  // COMPONENTS_SYNC_MODEL_FORWARDING_DATA_TYPE_CONTROLLER_DELEGATE_H_