1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef REMOTING_CLIENT_PLUGIN_PEPPER_PLUGIN_THREAD_DELEGATE_H_
6#define REMOTING_CLIENT_PLUGIN_PEPPER_PLUGIN_THREAD_DELEGATE_H_
7
8#include "remoting/base/plugin_thread_task_runner.h"
9
10// Macro useful for writing cross-platform function pointers.
11#if defined(OS_WIN) && !defined(CDECL)
12#define CDECL __cdecl
13#else
14#define CDECL
15#endif
16
17namespace pp {
18class Core;
19}  // namespace pp
20
21namespace remoting {
22
23class PepperPluginThreadDelegate : public PluginThreadTaskRunner::Delegate {
24 public:
25  PepperPluginThreadDelegate();
26  virtual ~PepperPluginThreadDelegate();
27
28  virtual bool RunOnPluginThread(
29      base::TimeDelta delay, void(CDECL function)(void*), void* data) OVERRIDE;
30
31 private:
32  pp::Core* core_;
33};
34
35} // namespace remoting
36
37#endif  // REMOTING_CLIENT_PLUGIN_PEPPER_PLUGIN_THREAD_DELEGATE_H_
38