| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef PPAPI_PROXY_HOST_DISPATCHER_H_ | 5 #ifndef PPAPI_PROXY_HOST_DISPATCHER_H_ |
| 6 #define PPAPI_PROXY_HOST_DISPATCHER_H_ | 6 #define PPAPI_PROXY_HOST_DISPATCHER_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| 11 | 11 |
| 12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
| 13 #include "base/process.h" | 13 #include "base/process.h" |
| 14 #include "ppapi/c/pp_instance.h" | 14 #include "ppapi/c/pp_instance.h" |
| 15 #include "ppapi/proxy/dispatcher.h" | 15 #include "ppapi/proxy/dispatcher.h" |
| 16 #include "ppapi/shared_impl/function_group_base.h" | 16 #include "ppapi/shared_impl/function_group_base.h" |
| 17 | 17 |
| 18 struct PPB_Proxy_Private; | 18 struct PPB_Proxy_Private; |
| 19 struct PPB_Var_Deprecated; | 19 struct PPB_Var_Deprecated; |
| 20 | 20 |
| 21 namespace base { | |
| 22 class WaitableEvent; | |
| 23 } | |
| 24 | |
| 25 namespace IPC { | |
| 26 class SyncChannel; | |
| 27 } | |
| 28 | |
| 29 namespace ppapi { | 21 namespace ppapi { |
| 30 | 22 |
| 31 struct Preferences; | 23 struct Preferences; |
| 32 | 24 |
| 33 namespace proxy { | 25 namespace proxy { |
| 34 | 26 |
| 35 class VarSerialization; | |
| 36 | |
| 37 class PPAPI_PROXY_EXPORT HostDispatcher : public Dispatcher { | 27 class PPAPI_PROXY_EXPORT HostDispatcher : public Dispatcher { |
| 38 public: | 28 public: |
| 39 // Constructor for the renderer side. | 29 // Constructor for the renderer side. |
| 40 // | 30 // |
| 41 // You must call InitHostWithChannel after the constructor. | 31 // You must call InitHostWithChannel after the constructor. |
| 42 HostDispatcher(base::ProcessHandle host_process_handle, | 32 HostDispatcher(base::ProcessHandle host_process_handle, |
| 43 PP_Module module, | 33 PP_Module module, |
| 44 GetInterfaceFunc local_get_interface); | 34 GetInterfaceFunc local_get_interface); |
| 45 ~HostDispatcher(); | 35 ~HostDispatcher(); |
| 46 | 36 |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 }; | 107 }; |
| 118 | 108 |
| 119 // Create this object on the stack to prevent the module (and hence the | 109 // Create this object on the stack to prevent the module (and hence the |
| 120 // dispatcher) from being deleted out from under you. This is necessary when | 110 // dispatcher) from being deleted out from under you. This is necessary when |
| 121 // calling some scripting functions that may delete the plugin. | 111 // calling some scripting functions that may delete the plugin. |
| 122 // | 112 // |
| 123 // This may only be called in the host. The parameter is a plain Dispatcher | 113 // This may only be called in the host. The parameter is a plain Dispatcher |
| 124 // since that's what most callers have. | 114 // since that's what most callers have. |
| 125 class ScopedModuleReference { | 115 class ScopedModuleReference { |
| 126 public: | 116 public: |
| 127 ScopedModuleReference(Dispatcher* dispatcher); | 117 explicit ScopedModuleReference(Dispatcher* dispatcher); |
| 128 ~ScopedModuleReference(); | 118 ~ScopedModuleReference(); |
| 129 | 119 |
| 130 private: | 120 private: |
| 131 HostDispatcher* dispatcher_; | 121 HostDispatcher* dispatcher_; |
| 132 | 122 |
| 133 DISALLOW_COPY_AND_ASSIGN(ScopedModuleReference); | 123 DISALLOW_COPY_AND_ASSIGN(ScopedModuleReference); |
| 134 }; | 124 }; |
| 135 | 125 |
| 136 } // namespace proxy | 126 } // namespace proxy |
| 137 } // namespace ppapi | 127 } // namespace ppapi |
| 138 | 128 |
| 139 #endif // PPAPI_PROXY_HOST_DISPATCHER_H_ | 129 #endif // PPAPI_PROXY_HOST_DISPATCHER_H_ |
| OLD | NEW |