// Copyright 2019 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.

#ifndef FUCHSIA_BASE_FIT_ADAPTER_H_
#define FUCHSIA_BASE_FIT_ADAPTER_H_

#include <lib/fit/function.h>

#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/optional.h"

namespace cr_fuchsia {

// Adapts a base::OnceCallback<> to a fit::function<>, to allow //base callbacks
// to be used directly as FIDL result callbacks.
template <typename ReturnType, typename... ArgumentTypes>
fit::function<ReturnType(ArgumentTypes...)> CallbackToFitFunction(
    base::OnceCallback<ReturnType(ArgumentTypes...)> callback) {
  return [callback = std::move(callback)](ArgumentTypes... args) mutable {
    std::move(callback).Run(std::forward<ArgumentTypes>(args)...);
  };
}

}  // namespace cr_fuchsia

#endif  // FUCHSIA_BASE_FIT_ADAPTER_H_
