// Copyright 2016 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 GLUE_BASE_TASK_RUNNER_H_
#define GLUE_BASE_TASK_RUNNER_H_

#include "base/memory/ref_counted.h"
#include "lib/ftl/tasks/task_runner.h"

namespace base {
class TaskRunner;
}  // namespace base

namespace glue {

class TaskRunnerAdaptor : public ftl::TaskRunner {
 public:
  explicit TaskRunnerAdaptor(scoped_refptr<base::TaskRunner> runner);

  void PostTask(ftl::Closure task) override;
  void PostDelayedTask(ftl::Closure task, ftl::TimeDelta delay) override;

 protected:
  ~TaskRunnerAdaptor() override;

 private:
  scoped_refptr<base::TaskRunner> runner_;
};

}  // namespace glue

#endif  // GLUE_BASE_TASK_RUNNER_H_
