OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/interface_proxy.h" | 11 #include "ppapi/proxy/interface_proxy.h" |
12 #include "ppapi/proxy/ppapi_messages.h" | 12 #include "ppapi/proxy/ppapi_messages.h" |
| 13 #include "ppapi/proxy/serialized_resource.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) { |
21 ParamTraits<bool>::Write(m, pp::proxy::PPBoolToBool(p)); | 22 ParamTraits<bool>::Write(m, pp::proxy::PPBoolToBool(p)); |
22 } | 23 } |
(...skipping 150 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::SerializedResource>::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::SerializedResource>::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::SerializedResource>::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::SerializedResource>::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::SerializedResource>::Write(m, p.font); |
248 ParamTraits<PP_Resource>::Write(m, p.image_data); | 282 ParamTraits<pp::proxy::SerializedResource>::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::SerializedResource>::Read(m, iter, &r->font) && |
265 ParamTraits<PP_Resource>::Read(m, iter, &r->image_data) && | 299 ParamTraits<pp::proxy::SerializedResource>::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::SerializedResource>::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::SerializedResource>::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 // SerializedResource ---------------------------------------------------------- |
| 411 |
| 412 // static |
| 413 void ParamTraits<pp::proxy::SerializedResource>::Write(Message* m, |
| 414 const param_type& p) { |
| 415 ParamTraits<PP_Resource>::Write(m, p.host_resource()); |
| 416 } |
| 417 |
| 418 // static |
| 419 bool ParamTraits<pp::proxy::SerializedResource>::Read(const Message* m, |
| 420 void** iter, |
| 421 param_type* r) { |
| 422 PP_Resource value; |
| 423 if (!ParamTraits<PP_Resource>::Read(m, iter, &value)) |
| 424 return false; |
| 425 r->set_host_resource(value); |
| 426 return true; |
| 427 } |
| 428 |
| 429 // static |
| 430 void ParamTraits<pp::proxy::SerializedResource>::Log(const param_type& p, |
| 431 std::string* l) { |
| 432 } |
| 433 |
| 434 // SerializedVar --------------------------------------------------------------- |
| 435 |
| 436 // static |
| 437 void ParamTraits<pp::proxy::SerializedVar>::Write(Message* m, |
| 438 const param_type& p) { |
| 439 p.WriteToMessage(m); |
| 440 } |
| 441 |
| 442 // static |
| 443 bool ParamTraits<pp::proxy::SerializedVar>::Read(const Message* m, |
| 444 void** iter, |
| 445 param_type* r) { |
| 446 return r->ReadFromMessage(m, iter); |
| 447 } |
| 448 |
| 449 // static |
| 450 void ParamTraits<pp::proxy::SerializedVar>::Log(const param_type& p, |
| 451 std::string* l) { |
| 452 } |
| 453 |
361 // std::vector<SerializedVar> -------------------------------------------------- | 454 // std::vector<SerializedVar> -------------------------------------------------- |
362 | 455 |
363 void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Write( | 456 void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Write( |
364 Message* m, | 457 Message* m, |
365 const param_type& p) { | 458 const param_type& p) { |
366 WriteParam(m, static_cast<int>(p.size())); | 459 WriteParam(m, static_cast<int>(p.size())); |
367 for (size_t i = 0; i < p.size(); i++) | 460 for (size_t i = 0; i < p.size(); i++) |
368 WriteParam(m, p[i]); | 461 WriteParam(m, p[i]); |
369 } | 462 } |
370 | 463 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 return true; | 500 return true; |
408 } | 501 } |
409 | 502 |
410 // static | 503 // static |
411 void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Log( | 504 void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Log( |
412 const param_type& p, | 505 const param_type& p, |
413 std::string* l) { | 506 std::string* l) { |
414 } | 507 } |
415 | 508 |
416 } // namespace IPC | 509 } // namespace IPC |
OLD | NEW |