OLD | NEW |
---|---|
1 // Copyright (c) 2010 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/ppapi_param_traits.h" | 5 #include "ppapi/proxy/ppapi_param_traits.h" |
6 | 6 |
7 #include <string.h> // For memcpy | 7 #include <string.h> // For memcpy |
8 | 8 |
9 #include "ppapi/c/dev/pp_file_info_dev.h" | 9 #include "ppapi/c/dev/pp_file_info_dev.h" |
10 #include "ppapi/c/pp_resource.h" | 10 #include "ppapi/c/pp_resource.h" |
11 #include "ppapi/proxy/host_resource.h" | |
11 #include "ppapi/proxy/interface_proxy.h" | 12 #include "ppapi/proxy/interface_proxy.h" |
12 #include "ppapi/proxy/ppapi_messages.h" | 13 #include "ppapi/proxy/ppapi_messages.h" |
13 #include "ppapi/proxy/serialized_var.h" | 14 #include "ppapi/proxy/serialized_var.h" |
14 | 15 |
15 namespace IPC { | 16 namespace IPC { |
16 | 17 |
17 // PP_Bool --------------------------------------------------------------------- | 18 // PP_Bool --------------------------------------------------------------------- |
18 | 19 |
19 // static | 20 // static |
20 void ParamTraits<PP_Bool>::Write(Message* m, const param_type& p) { | 21 void ParamTraits<PP_Bool>::Write(Message* m, const param_type& p) { |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
173 | 174 |
174 // static | 175 // static |
175 bool ParamTraits<PP_Size>::Read(const Message* m, void** iter, param_type* r) { | 176 bool ParamTraits<PP_Size>::Read(const Message* m, void** iter, param_type* r) { |
176 return m->ReadInt(iter, &r->width) && m->ReadInt(iter, &r->height); | 177 return m->ReadInt(iter, &r->width) && m->ReadInt(iter, &r->height); |
177 } | 178 } |
178 | 179 |
179 // static | 180 // static |
180 void ParamTraits<PP_Size>::Log(const param_type& p, std::string* l) { | 181 void ParamTraits<PP_Size>::Log(const param_type& p, std::string* l) { |
181 } | 182 } |
182 | 183 |
184 // PPBAudio_NotifyAudioStreamCreated_Params ------------------------------------ | |
185 | |
186 // static | |
187 void ParamTraits<pp::proxy::PPBAudio_NotifyAudioStreamCreated_Params>::Write( | |
188 Message* m, | |
189 const param_type& p) { | |
190 ParamTraits<PP_Instance>::Write(m, p.instance); | |
191 ParamTraits<pp::proxy::HostResource>::Write(m, p.audio_id); | |
192 ParamTraits<int32_t>::Write(m, p.result_code); | |
193 ParamTraits<PlatformFileForTransit>::Write(m, p.socket_handle); | |
194 ParamTraits<int32_t>::Write(m, p.length); | |
195 } | |
196 | |
197 // static | |
198 bool ParamTraits<pp::proxy::PPBAudio_NotifyAudioStreamCreated_Params>::Read( | |
199 const Message* m, | |
200 void** iter, | |
201 param_type* r) { | |
202 return | |
203 ParamTraits<PP_Instance>::Read(m, iter, &r->instance) && | |
204 ParamTraits<pp::proxy::HostResource>::Read(m, iter, &r->audio_id) && | |
205 ParamTraits<int32_t>::Read(m, iter, &r->result_code) && | |
206 ParamTraits<PlatformFileForTransit>::Read(m, iter, &r->socket_handle) && | |
207 ParamTraits<int32_t>::Read(m, iter, &r->length); | |
208 } | |
209 | |
210 // static | |
211 void ParamTraits<pp::proxy::PPBAudio_NotifyAudioStreamCreated_Params>::Log( | |
212 const param_type& p, | |
213 std::string* l) { | |
214 } | |
215 | |
183 // PPBFlash_DrawGlyphs_Params -------------------------------------------------- | 216 // PPBFlash_DrawGlyphs_Params -------------------------------------------------- |
184 | 217 |
185 // static | 218 // static |
186 void ParamTraits<pp::proxy::PPBFlash_DrawGlyphs_Params>::Write( | 219 void ParamTraits<pp::proxy::PPBFlash_DrawGlyphs_Params>::Write( |
187 Message* m, | 220 Message* m, |
188 const param_type& p) { | 221 const param_type& p) { |
189 ParamTraits<PP_Instance>::Write(m, p.instance); | 222 ParamTraits<PP_Instance>::Write(m, p.instance); |
190 ParamTraits<PP_Resource>::Write(m, p.pp_image_data); | 223 ParamTraits<pp::proxy::HostResource>::Write(m, p.image_data); |
191 ParamTraits<pp::proxy::SerializedFontDescription>::Write(m, p.font_desc); | 224 ParamTraits<pp::proxy::SerializedFontDescription>::Write(m, p.font_desc); |
192 ParamTraits<uint32_t>::Write(m, p.color); | 225 ParamTraits<uint32_t>::Write(m, p.color); |
193 ParamTraits<PP_Point>::Write(m, p.position); | 226 ParamTraits<PP_Point>::Write(m, p.position); |
194 ParamTraits<PP_Rect>::Write(m, p.clip); | 227 ParamTraits<PP_Rect>::Write(m, p.clip); |
195 ParamTraits<float>::Write(m, p.transformation[0][0]); | 228 ParamTraits<float>::Write(m, p.transformation[0][0]); |
196 ParamTraits<float>::Write(m, p.transformation[0][1]); | 229 ParamTraits<float>::Write(m, p.transformation[0][1]); |
197 ParamTraits<float>::Write(m, p.transformation[0][2]); | 230 ParamTraits<float>::Write(m, p.transformation[0][2]); |
198 ParamTraits<float>::Write(m, p.transformation[1][0]); | 231 ParamTraits<float>::Write(m, p.transformation[1][0]); |
199 ParamTraits<float>::Write(m, p.transformation[1][1]); | 232 ParamTraits<float>::Write(m, p.transformation[1][1]); |
200 ParamTraits<float>::Write(m, p.transformation[1][2]); | 233 ParamTraits<float>::Write(m, p.transformation[1][2]); |
201 ParamTraits<float>::Write(m, p.transformation[2][0]); | 234 ParamTraits<float>::Write(m, p.transformation[2][0]); |
202 ParamTraits<float>::Write(m, p.transformation[2][1]); | 235 ParamTraits<float>::Write(m, p.transformation[2][1]); |
203 ParamTraits<float>::Write(m, p.transformation[2][2]); | 236 ParamTraits<float>::Write(m, p.transformation[2][2]); |
204 ParamTraits<std::vector<uint16_t> >::Write(m, p.glyph_indices); | 237 ParamTraits<std::vector<uint16_t> >::Write(m, p.glyph_indices); |
205 ParamTraits<std::vector<PP_Point> >::Write(m, p.glyph_advances); | 238 ParamTraits<std::vector<PP_Point> >::Write(m, p.glyph_advances); |
206 } | 239 } |
207 | 240 |
208 // static | 241 // static |
209 bool ParamTraits<pp::proxy::PPBFlash_DrawGlyphs_Params>::Read( | 242 bool ParamTraits<pp::proxy::PPBFlash_DrawGlyphs_Params>::Read( |
210 const Message* m, | 243 const Message* m, |
211 void** iter, | 244 void** iter, |
212 param_type* r) { | 245 param_type* r) { |
213 return | 246 return |
214 ParamTraits<PP_Instance>::Read(m, iter, &r->instance) && | 247 ParamTraits<PP_Instance>::Read(m, iter, &r->instance) && |
215 ParamTraits<PP_Resource>::Read(m, iter, &r->pp_image_data) && | 248 ParamTraits<pp::proxy::HostResource>::Read(m, iter, |
249 &r->image_data) && | |
216 ParamTraits<pp::proxy::SerializedFontDescription>::Read(m, iter, | 250 ParamTraits<pp::proxy::SerializedFontDescription>::Read(m, iter, |
217 &r->font_desc) && | 251 &r->font_desc) && |
218 ParamTraits<uint32_t>::Read(m, iter, &r->color) && | 252 ParamTraits<uint32_t>::Read(m, iter, &r->color) && |
219 ParamTraits<PP_Point>::Read(m, iter, &r->position) && | 253 ParamTraits<PP_Point>::Read(m, iter, &r->position) && |
220 ParamTraits<PP_Rect>::Read(m, iter, &r->clip) && | 254 ParamTraits<PP_Rect>::Read(m, iter, &r->clip) && |
221 ParamTraits<float>::Read(m, iter, &r->transformation[0][0]) && | 255 ParamTraits<float>::Read(m, iter, &r->transformation[0][0]) && |
222 ParamTraits<float>::Read(m, iter, &r->transformation[0][1]) && | 256 ParamTraits<float>::Read(m, iter, &r->transformation[0][1]) && |
223 ParamTraits<float>::Read(m, iter, &r->transformation[0][2]) && | 257 ParamTraits<float>::Read(m, iter, &r->transformation[0][2]) && |
224 ParamTraits<float>::Read(m, iter, &r->transformation[1][0]) && | 258 ParamTraits<float>::Read(m, iter, &r->transformation[1][0]) && |
225 ParamTraits<float>::Read(m, iter, &r->transformation[1][1]) && | 259 ParamTraits<float>::Read(m, iter, &r->transformation[1][1]) && |
(...skipping 11 matching lines...) Expand all Loading... | |
237 const param_type& p, | 271 const param_type& p, |
238 std::string* l) { | 272 std::string* l) { |
239 } | 273 } |
240 | 274 |
241 // PPBFont_DrawTextAt_Params --------------------------------------------------- | 275 // PPBFont_DrawTextAt_Params --------------------------------------------------- |
242 | 276 |
243 // static | 277 // static |
244 void ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Write( | 278 void ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Write( |
245 Message* m, | 279 Message* m, |
246 const param_type& p) { | 280 const param_type& p) { |
247 ParamTraits<PP_Resource>::Write(m, p.font); | 281 ParamTraits<pp::proxy::HostResource>::Write(m, p.font); |
248 ParamTraits<PP_Resource>::Write(m, p.image_data); | 282 ParamTraits<pp::proxy::HostResource>::Write(m, p.image_data); |
249 ParamTraits<PP_Bool>::Write(m, p.text_is_rtl); | 283 ParamTraits<PP_Bool>::Write(m, p.text_is_rtl); |
250 ParamTraits<PP_Bool>::Write(m, p.override_direction); | 284 ParamTraits<PP_Bool>::Write(m, p.override_direction); |
251 ParamTraits<PP_Point>::Write(m, p.position); | 285 ParamTraits<PP_Point>::Write(m, p.position); |
252 ParamTraits<uint32_t>::Write(m, p.color); | 286 ParamTraits<uint32_t>::Write(m, p.color); |
253 ParamTraits<PP_Rect>::Write(m, p.clip); | 287 ParamTraits<PP_Rect>::Write(m, p.clip); |
254 ParamTraits<bool>::Write(m, p.clip_is_null); | 288 ParamTraits<bool>::Write(m, p.clip_is_null); |
255 ParamTraits<PP_Bool>::Write(m, p.image_data_is_opaque); | 289 ParamTraits<PP_Bool>::Write(m, p.image_data_is_opaque); |
256 } | 290 } |
257 | 291 |
258 // static | 292 // static |
259 bool ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Read( | 293 bool ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Read( |
260 const Message* m, | 294 const Message* m, |
261 void** iter, | 295 void** iter, |
262 param_type* r) { | 296 param_type* r) { |
263 return | 297 return |
264 ParamTraits<PP_Resource>::Read(m, iter, &r->font) && | 298 ParamTraits<pp::proxy::HostResource>::Read(m, iter, &r->font) && |
265 ParamTraits<PP_Resource>::Read(m, iter, &r->image_data) && | 299 ParamTraits<pp::proxy::HostResource>::Read(m, iter, |
300 &r->image_data) && | |
266 ParamTraits<PP_Bool>::Read(m, iter, &r->text_is_rtl) && | 301 ParamTraits<PP_Bool>::Read(m, iter, &r->text_is_rtl) && |
267 ParamTraits<PP_Bool>::Read(m, iter, &r->override_direction) && | 302 ParamTraits<PP_Bool>::Read(m, iter, &r->override_direction) && |
268 ParamTraits<PP_Point>::Read(m, iter, &r->position) && | 303 ParamTraits<PP_Point>::Read(m, iter, &r->position) && |
269 ParamTraits<uint32_t>::Read(m, iter, &r->color) && | 304 ParamTraits<uint32_t>::Read(m, iter, &r->color) && |
270 ParamTraits<PP_Rect>::Read(m, iter, &r->clip) && | 305 ParamTraits<PP_Rect>::Read(m, iter, &r->clip) && |
271 ParamTraits<bool>::Read(m, iter, &r->clip_is_null) && | 306 ParamTraits<bool>::Read(m, iter, &r->clip_is_null) && |
272 ParamTraits<PP_Bool>::Read(m, iter, &r->image_data_is_opaque); | 307 ParamTraits<PP_Bool>::Read(m, iter, &r->image_data_is_opaque); |
273 } | 308 } |
274 | 309 |
275 // static | 310 // static |
276 void ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Log( | 311 void ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Log( |
277 const param_type& p, | 312 const param_type& p, |
278 std::string* l) { | 313 std::string* l) { |
279 } | 314 } |
280 | 315 |
316 // PPBURLLoader_UpdateProgress_Params ------------------------------------------ | |
317 | |
318 // static | |
319 void ParamTraits<pp::proxy::PPBURLLoader_UpdateProgress_Params>::Write( | |
320 Message* m, | |
321 const param_type& p) { | |
322 ParamTraits<PP_Instance>::Write(m, p.instance); | |
323 ParamTraits<pp::proxy::HostResource>::Write(m, p.resource); | |
324 ParamTraits<int64_t>::Write(m, p.bytes_sent); | |
325 ParamTraits<int64_t>::Write(m, p.total_bytes_to_be_sent); | |
326 ParamTraits<int64_t>::Write(m, p.bytes_received); | |
327 ParamTraits<int64_t>::Write(m, p.total_bytes_to_be_received); | |
328 } | |
329 | |
330 // static | |
331 bool ParamTraits<pp::proxy::PPBURLLoader_UpdateProgress_Params>::Read( | |
332 const Message* m, | |
333 void** iter, | |
334 param_type* r) { | |
335 return | |
336 ParamTraits<PP_Instance>::Read(m, iter, &r->instance) && | |
337 ParamTraits<pp::proxy::HostResource>::Read(m, iter, &r->resource) && | |
338 ParamTraits<int64_t>::Read(m, iter, &r->bytes_sent) && | |
339 ParamTraits<int64_t>::Read(m, iter, &r->total_bytes_to_be_sent) && | |
340 ParamTraits<int64_t>::Read(m, iter, &r->bytes_received) && | |
341 ParamTraits<int64_t>::Read(m, iter, &r->total_bytes_to_be_received); | |
342 } | |
343 | |
344 // static | |
345 void ParamTraits<pp::proxy::PPBURLLoader_UpdateProgress_Params>::Log( | |
346 const param_type& p, | |
347 std::string* l) { | |
348 } | |
349 | |
281 // SerializedDirEntry ---------------------------------------------------------- | 350 // SerializedDirEntry ---------------------------------------------------------- |
282 | 351 |
283 // static | 352 // static |
284 void ParamTraits<pp::proxy::SerializedDirEntry>::Write(Message* m, | 353 void ParamTraits<pp::proxy::SerializedDirEntry>::Write(Message* m, |
285 const param_type& p) { | 354 const param_type& p) { |
286 ParamTraits<std::string>::Write(m, p.name); | 355 ParamTraits<std::string>::Write(m, p.name); |
287 ParamTraits<bool>::Write(m, p.is_dir); | 356 ParamTraits<bool>::Write(m, p.is_dir); |
288 } | 357 } |
289 | 358 |
290 // static | 359 // static |
291 bool ParamTraits<pp::proxy::SerializedDirEntry>::Read(const Message* m, | 360 bool ParamTraits<pp::proxy::SerializedDirEntry>::Read(const Message* m, |
292 void** iter, | 361 void** iter, |
293 param_type* r) { | 362 param_type* r) { |
294 return ParamTraits<std::string>::Read(m, iter, &r->name) && | 363 return ParamTraits<std::string>::Read(m, iter, &r->name) && |
295 ParamTraits<bool>::Read(m, iter, &r->is_dir); | 364 ParamTraits<bool>::Read(m, iter, &r->is_dir); |
296 } | 365 } |
297 | 366 |
298 // static | 367 // static |
299 void ParamTraits<pp::proxy::SerializedDirEntry>::Log(const param_type& p, | 368 void ParamTraits<pp::proxy::SerializedDirEntry>::Log(const param_type& p, |
300 std::string* l) { | 369 std::string* l) { |
301 } | 370 } |
302 | 371 |
303 // SerializedVar --------------------------------------------------------------- | |
304 | |
305 // static | |
306 void ParamTraits<pp::proxy::SerializedVar>::Write(Message* m, | |
307 const param_type& p) { | |
308 p.WriteToMessage(m); | |
309 } | |
310 | |
311 // static | |
312 bool ParamTraits<pp::proxy::SerializedVar>::Read(const Message* m, | |
313 void** iter, | |
314 param_type* r) { | |
315 return r->ReadFromMessage(m, iter); | |
316 } | |
317 | |
318 // static | |
319 void ParamTraits<pp::proxy::SerializedVar>::Log(const param_type& p, | |
320 std::string* l) { | |
321 } | |
322 | |
323 // pp::proxy::SerializedFontDescription ---------------------------------------- | 372 // pp::proxy::SerializedFontDescription ---------------------------------------- |
324 | 373 |
325 // static | 374 // static |
326 void ParamTraits<pp::proxy::SerializedFontDescription>::Write( | 375 void ParamTraits<pp::proxy::SerializedFontDescription>::Write( |
327 Message* m, | 376 Message* m, |
328 const param_type& p) { | 377 const param_type& p) { |
329 ParamTraits<pp::proxy::SerializedVar>::Write(m, p.face); | 378 ParamTraits<pp::proxy::SerializedVar>::Write(m, p.face); |
330 ParamTraits<int32_t>::Write(m, p.family); | 379 ParamTraits<int32_t>::Write(m, p.family); |
331 ParamTraits<uint32_t>::Write(m, p.size); | 380 ParamTraits<uint32_t>::Write(m, p.size); |
332 ParamTraits<int32_t>::Write(m, p.weight); | 381 ParamTraits<int32_t>::Write(m, p.weight); |
(...skipping 18 matching lines...) Expand all Loading... | |
351 ParamTraits<int32_t>::Read(m, iter, &r->letter_spacing) && | 400 ParamTraits<int32_t>::Read(m, iter, &r->letter_spacing) && |
352 ParamTraits<int32_t>::Read(m, iter, &r->word_spacing); | 401 ParamTraits<int32_t>::Read(m, iter, &r->word_spacing); |
353 } | 402 } |
354 | 403 |
355 // static | 404 // static |
356 void ParamTraits<pp::proxy::SerializedFontDescription>::Log( | 405 void ParamTraits<pp::proxy::SerializedFontDescription>::Log( |
357 const param_type& p, | 406 const param_type& p, |
358 std::string* l) { | 407 std::string* l) { |
359 } | 408 } |
360 | 409 |
410 // HostResource ---------------------------------------------------------- | |
411 | |
412 // static | |
413 void ParamTraits<pp::proxy::HostResource>::Write(Message* m, | |
414 const param_type& p) { | |
viettrungluu
2011/01/27 20:16:30
Nit: indentation. (And elsewhere in this file.)
| |
415 ParamTraits<PP_Instance>::Write(m, p.instance()); | |
416 ParamTraits<PP_Resource>::Write(m, p.host_resource()); | |
417 } | |
418 | |
419 // static | |
420 bool ParamTraits<pp::proxy::HostResource>::Read(const Message* m, | |
421 void** iter, | |
422 param_type* r) { | |
423 PP_Instance instance; | |
424 PP_Resource resource; | |
425 if (!ParamTraits<PP_Instance>::Read(m, iter, &instance) || | |
426 !ParamTraits<PP_Resource>::Read(m, iter, &resource)) | |
427 return false; | |
428 r->SetHostResource(instance, resource); | |
429 return true; | |
430 } | |
431 | |
432 // static | |
433 void ParamTraits<pp::proxy::HostResource>::Log(const param_type& p, | |
434 std::string* l) { | |
435 } | |
436 | |
437 // SerializedVar --------------------------------------------------------------- | |
438 | |
439 // static | |
440 void ParamTraits<pp::proxy::SerializedVar>::Write(Message* m, | |
441 const param_type& p) { | |
442 p.WriteToMessage(m); | |
443 } | |
444 | |
445 // static | |
446 bool ParamTraits<pp::proxy::SerializedVar>::Read(const Message* m, | |
447 void** iter, | |
448 param_type* r) { | |
449 return r->ReadFromMessage(m, iter); | |
450 } | |
451 | |
452 // static | |
453 void ParamTraits<pp::proxy::SerializedVar>::Log(const param_type& p, | |
454 std::string* l) { | |
455 } | |
456 | |
361 // std::vector<SerializedVar> -------------------------------------------------- | 457 // std::vector<SerializedVar> -------------------------------------------------- |
362 | 458 |
363 void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Write( | 459 void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Write( |
364 Message* m, | 460 Message* m, |
365 const param_type& p) { | 461 const param_type& p) { |
366 WriteParam(m, static_cast<int>(p.size())); | 462 WriteParam(m, static_cast<int>(p.size())); |
367 for (size_t i = 0; i < p.size(); i++) | 463 for (size_t i = 0; i < p.size(); i++) |
368 WriteParam(m, p[i]); | 464 WriteParam(m, p[i]); |
369 } | 465 } |
370 | 466 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
407 return true; | 503 return true; |
408 } | 504 } |
409 | 505 |
410 // static | 506 // static |
411 void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Log( | 507 void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Log( |
412 const param_type& p, | 508 const param_type& p, |
413 std::string* l) { | 509 std::string* l) { |
414 } | 510 } |
415 | 511 |
416 } // namespace IPC | 512 } // namespace IPC |
OLD | NEW |