| 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_RESOURCE_CREATION_PROXY_H_ | 5 #ifndef PPAPI_PROXY_RESOURCE_CREATION_PROXY_H_ |
| 6 #define PPAPI_PROXY_RESOURCE_CREATION_PROXY_H_ | 6 #define PPAPI_PROXY_RESOURCE_CREATION_PROXY_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| 11 #include "ipc/ipc_channel.h" | 11 #include "ipc/ipc_channel.h" |
| 12 #include "ppapi/c/pp_bool.h" | 12 #include "ppapi/c/pp_bool.h" |
| 13 #include "ppapi/c/pp_instance.h" | 13 #include "ppapi/c/pp_instance.h" |
| 14 #include "ppapi/proxy/interface_proxy.h" |
| 14 #include "ppapi/proxy/serialized_structs.h" | 15 #include "ppapi/proxy/serialized_structs.h" |
| 15 #include "ppapi/shared_impl/function_group_base.h" | |
| 16 #include "ppapi/thunk/resource_creation_api.h" | 16 #include "ppapi/thunk/resource_creation_api.h" |
| 17 | 17 |
| 18 struct PP_Size; | 18 struct PP_Size; |
| 19 | 19 |
| 20 namespace ppapi { | 20 namespace ppapi { |
| 21 | 21 |
| 22 class HostResource; | 22 class HostResource; |
| 23 | 23 |
| 24 namespace proxy { | 24 namespace proxy { |
| 25 | 25 |
| 26 class Dispatcher; | 26 class Dispatcher; |
| 27 | 27 |
| 28 class ResourceCreationProxy : public FunctionGroupBase, | 28 class ResourceCreationProxy : public InterfaceProxy, |
| 29 public thunk::ResourceCreationAPI, | 29 public thunk::ResourceCreationAPI { |
| 30 public IPC::Channel::Listener, | |
| 31 public IPC::Message::Sender { | |
| 32 public: | 30 public: |
| 33 explicit ResourceCreationProxy(Dispatcher* dispatcher); | 31 explicit ResourceCreationProxy(Dispatcher* dispatcher); |
| 34 virtual ~ResourceCreationProxy(); | 32 virtual ~ResourceCreationProxy(); |
| 35 | 33 |
| 34 // Factory function used for registration (normal code can just use the |
| 35 // constructor). |
| 36 static InterfaceProxy* Create(Dispatcher* dispatcher); |
| 37 |
| 36 virtual thunk::ResourceCreationAPI* AsResourceCreationAPI() OVERRIDE; | 38 virtual thunk::ResourceCreationAPI* AsResourceCreationAPI() OVERRIDE; |
| 37 | 39 |
| 38 // ResourceCreationAPI (called in plugin). | 40 // ResourceCreationAPI (called in plugin). |
| 39 virtual PP_Resource CreateAudio(PP_Instance instance, | 41 virtual PP_Resource CreateAudio(PP_Instance instance, |
| 40 PP_Resource config_id, | 42 PP_Resource config_id, |
| 41 PPB_Audio_Callback audio_callback, | 43 PPB_Audio_Callback audio_callback, |
| 42 void* user_data) OVERRIDE; | 44 void* user_data) OVERRIDE; |
| 43 virtual PP_Resource CreateAudioConfig(PP_Instance instance, | 45 virtual PP_Resource CreateAudioConfig(PP_Instance instance, |
| 44 PP_AudioSampleRate sample_rate, | 46 PP_AudioSampleRate sample_rate, |
| 45 uint32_t sample_frame_count) OVERRIDE; | 47 uint32_t sample_frame_count) OVERRIDE; |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 PP_Bool is_always_opaque, | 144 PP_Bool is_always_opaque, |
| 143 HostResource* result); | 145 HostResource* result); |
| 144 void OnMsgCreateImageData(PP_Instance instance, | 146 void OnMsgCreateImageData(PP_Instance instance, |
| 145 int32_t format, | 147 int32_t format, |
| 146 const PP_Size& size, | 148 const PP_Size& size, |
| 147 PP_Bool init_to_zero, | 149 PP_Bool init_to_zero, |
| 148 HostResource* result, | 150 HostResource* result, |
| 149 std::string* image_data_desc, | 151 std::string* image_data_desc, |
| 150 ImageHandle* result_image_handle); | 152 ImageHandle* result_image_handle); |
| 151 | 153 |
| 152 Dispatcher* dispatcher_; | |
| 153 | |
| 154 DISALLOW_COPY_AND_ASSIGN(ResourceCreationProxy); | 154 DISALLOW_COPY_AND_ASSIGN(ResourceCreationProxy); |
| 155 }; | 155 }; |
| 156 | 156 |
| 157 } // namespace proxy | 157 } // namespace proxy |
| 158 } // namespace ppapi | 158 } // namespace ppapi |
| 159 | 159 |
| 160 #endif // PPAPI_PROXY_RESOURCE_CREATION_PROXY_H_ | 160 #endif // PPAPI_PROXY_RESOURCE_CREATION_PROXY_H_ |
| OLD | NEW |