Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(85)

Side by Side Diff: ppapi/proxy/ppb_audio_proxy.cc

Issue 6286070: Remove all uses of the global Dispatcher Get function. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/proxy/ppb_audio_proxy.h ('k') | ppapi/proxy/ppb_buffer_proxy.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "ppapi/proxy/ppb_audio_proxy.h" 5 #include "ppapi/proxy/ppb_audio_proxy.h"
6 6
7 #include "base/threading/simple_thread.h" 7 #include "base/threading/simple_thread.h"
8 #include "ppapi/c/pp_errors.h" 8 #include "ppapi/c/pp_errors.h"
9 #include "ppapi/c/ppb_audio.h" 9 #include "ppapi/c/ppb_audio.h"
10 #include "ppapi/c/trusted/ppb_audio_trusted.h" 10 #include "ppapi/c/trusted/ppb_audio_trusted.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 65
66 PP_Resource Create(PP_Instance instance_id, 66 PP_Resource Create(PP_Instance instance_id,
67 PP_Resource config_id, 67 PP_Resource config_id,
68 PPB_Audio_Callback callback, 68 PPB_Audio_Callback callback,
69 void* user_data) { 69 void* user_data) {
70 PluginResource* config = PluginResourceTracker::GetInstance()-> 70 PluginResource* config = PluginResourceTracker::GetInstance()->
71 GetResourceObject(config_id); 71 GetResourceObject(config_id);
72 if (!config) 72 if (!config)
73 return 0; 73 return 0;
74 74
75 PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance_id);
76 if (!dispatcher)
77 return 0;
78
75 HostResource result; 79 HostResource result;
76 PluginDispatcher::Get()->Send(new PpapiHostMsg_PPBAudio_Create( 80 dispatcher->Send(new PpapiHostMsg_PPBAudio_Create(
77 INTERFACE_ID_PPB_AUDIO, instance_id, config->host_resource(), &result)); 81 INTERFACE_ID_PPB_AUDIO, instance_id, config->host_resource(), &result));
78 if (result.is_null()) 82 if (result.is_null())
79 return 0; 83 return 0;
80 84
81 linked_ptr<Audio> object(new Audio(result, config_id, callback, user_data)); 85 linked_ptr<Audio> object(new Audio(result, config_id, callback, user_data));
82 return PluginResourceTracker::GetInstance()->AddResource(object); 86 return PluginResourceTracker::GetInstance()->AddResource(object);
83 } 87 }
84 88
85 PP_Bool IsAudio(PP_Resource resource) { 89 PP_Bool IsAudio(PP_Resource resource) {
86 Audio* object = PluginResource::GetAs<Audio>(resource); 90 Audio* object = PluginResource::GetAs<Audio>(resource);
(...skipping 26 matching lines...) Expand all
113 } 117 }
114 118
115 const PPB_Audio audio_interface = { 119 const PPB_Audio audio_interface = {
116 &Create, 120 &Create,
117 &IsAudio, 121 &IsAudio,
118 &GetCurrentConfiguration, 122 &GetCurrentConfiguration,
119 &StartPlayback, 123 &StartPlayback,
120 &StopPlayback 124 &StopPlayback
121 }; 125 };
122 126
127 InterfaceProxy* CreateAudioProxy(Dispatcher* dispatcher,
128 const void* target_interface) {
129 return new PPB_Audio_Proxy(dispatcher, target_interface);
130 }
131
123 } // namespace 132 } // namespace
124 133
125 PPB_Audio_Proxy::PPB_Audio_Proxy(Dispatcher* dispatcher, 134 PPB_Audio_Proxy::PPB_Audio_Proxy(Dispatcher* dispatcher,
126 const void* target_interface) 135 const void* target_interface)
127 : InterfaceProxy(dispatcher, target_interface), 136 : InterfaceProxy(dispatcher, target_interface),
128 callback_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) { 137 callback_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) {
129 } 138 }
130 139
131 PPB_Audio_Proxy::~PPB_Audio_Proxy() { 140 PPB_Audio_Proxy::~PPB_Audio_Proxy() {
132 } 141 }
133 142
134 const void* PPB_Audio_Proxy::GetSourceInterface() const { 143 // static
135 return &audio_interface; 144 const InterfaceProxy::Info* PPB_Audio_Proxy::GetInfo() {
136 } 145 static const Info info = {
137 146 &audio_interface,
138 InterfaceID PPB_Audio_Proxy::GetInterfaceId() const { 147 PPB_AUDIO_INTERFACE,
139 return INTERFACE_ID_PPB_AUDIO; 148 INTERFACE_ID_PPB_AUDIO,
149 false,
150 &CreateAudioProxy,
151 };
152 return &info;
140 } 153 }
141 154
142 bool PPB_Audio_Proxy::OnMessageReceived(const IPC::Message& msg) { 155 bool PPB_Audio_Proxy::OnMessageReceived(const IPC::Message& msg) {
143 bool handled = true; 156 bool handled = true;
144 IPC_BEGIN_MESSAGE_MAP(PPB_Audio_Proxy, msg) 157 IPC_BEGIN_MESSAGE_MAP(PPB_Audio_Proxy, msg)
145 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBAudio_Create, OnMsgCreate) 158 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBAudio_Create, OnMsgCreate)
146 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBAudio_StartOrStop, 159 IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBAudio_StartOrStop,
147 OnMsgStartOrStop) 160 OnMsgStartOrStop)
148 IPC_MESSAGE_HANDLER(PpapiMsg_PPBAudio_NotifyAudioStreamCreated, 161 IPC_MESSAGE_HANDLER(PpapiMsg_PPBAudio_NotifyAudioStreamCreated,
149 OnMsgNotifyAudioStreamCreated) 162 OnMsgNotifyAudioStreamCreated)
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 // close the source handle. 307 // close the source handle.
295 if (!shared_memory.GiveToProcess(dispatcher()->remote_process_handle(), 308 if (!shared_memory.GiveToProcess(dispatcher()->remote_process_handle(),
296 foreign_shared_memory_handle)) 309 foreign_shared_memory_handle))
297 return PP_ERROR_FAILED; 310 return PP_ERROR_FAILED;
298 311
299 return PP_OK; 312 return PP_OK;
300 } 313 }
301 314
302 } // namespace proxy 315 } // namespace proxy
303 } // namespace pp 316 } // namespace pp
OLDNEW
« no previous file with comments | « ppapi/proxy/ppb_audio_proxy.h ('k') | ppapi/proxy/ppb_buffer_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698