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