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 17 namespace pp { 18 class Core; 19 } // namespace pp 20 21 namespace remoting { 22 23 class 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