| 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 |