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