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

#ifndef CC_RESOURCES_SINGLE_RELEASE_CALLBACK_IMPL_H_
#define CC_RESOURCES_SINGLE_RELEASE_CALLBACK_IMPL_H_

#include "base/memory/scoped_ptr.h"
#include "cc/resources/release_callback_impl.h"

namespace cc {

class SingleReleaseCallbackImpl {
 public:
  static scoped_ptr<SingleReleaseCallbackImpl> Create(
      const ReleaseCallbackImpl& cb) {
    return make_scoped_ptr(new SingleReleaseCallbackImpl(cb));
  }

  ~SingleReleaseCallbackImpl();

  void Run(uint32 sync_point,
           bool is_lost,
           BlockingTaskRunner* main_thread_task_runner);

 private:
  explicit SingleReleaseCallbackImpl(const ReleaseCallbackImpl& callback);

  bool has_been_run_;
  ReleaseCallbackImpl callback_;
};

}  // namespace cc

#endif  // CC_RESOURCES_SINGLE_RELEASE_CALLBACK_IMPL_H_
