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

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

Issue 4752008: Add proxies for some of the PDF & Flash functionality. There are still a few... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month 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/ppapi_param_traits.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) 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/pp_resource.h" 10 #include "ppapi/c/pp_resource.h"
10 #include "ppapi/proxy/interface_proxy.h" 11 #include "ppapi/proxy/interface_proxy.h"
11 #include "ppapi/proxy/ppapi_messages.h" 12 #include "ppapi/proxy/ppapi_messages.h"
12 #include "ppapi/proxy/serialized_var.h" 13 #include "ppapi/proxy/serialized_var.h"
13 14
14 namespace IPC { 15 namespace IPC {
15 16
16 // PP_Bool --------------------------------------------------------------------- 17 // PP_Bool ---------------------------------------------------------------------
17 18
18 // static 19 // static
(...skipping 10 matching lines...) Expand all
29 if (!ParamTraits<bool>::Read(m, iter, &result)) 30 if (!ParamTraits<bool>::Read(m, iter, &result))
30 return false; 31 return false;
31 *r = pp::proxy::BoolToPPBool(result); 32 *r = pp::proxy::BoolToPPBool(result);
32 return true; 33 return true;
33 } 34 }
34 35
35 // static 36 // static
36 void ParamTraits<PP_Bool>::Log(const param_type& p, std::string* l) { 37 void ParamTraits<PP_Bool>::Log(const param_type& p, std::string* l) {
37 } 38 }
38 39
40 // PP_FileInfo_Dev -------------------------------------------------------------
41
42 // static
43 void ParamTraits<PP_FileInfo_Dev>::Write(Message* m, const param_type& p) {
44 ParamTraits<int64_t>::Write(m, p.size);
45 ParamTraits<int>::Write(m, static_cast<int>(p.type));
46 ParamTraits<int>::Write(m, static_cast<int>(p.system_type));
47 ParamTraits<double>::Write(m, p.creation_time);
48 ParamTraits<double>::Write(m, p.last_access_time);
49 ParamTraits<double>::Write(m, p.last_modified_time);
50 }
51
52 // static
53 bool ParamTraits<PP_FileInfo_Dev>::Read(const Message* m, void** iter,
54 param_type* r) {
55 int type, system_type;
56 if (!ParamTraits<int64_t>::Read(m, iter, &r->size) ||
57 !ParamTraits<int>::Read(m, iter, &type) ||
58 !ParamTraits<int>::Read(m, iter, &system_type) ||
59 !ParamTraits<double>::Read(m, iter, &r->creation_time) ||
60 !ParamTraits<double>::Read(m, iter, &r->last_access_time) ||
61 !ParamTraits<double>::Read(m, iter, &r->last_modified_time))
62 return false;
63 if (type != PP_FILETYPE_REGULAR &&
64 type != PP_FILETYPE_DIRECTORY &&
65 type != PP_FILETYPE_OTHER)
66 return false;
67 r->type = static_cast<PP_FileType_Dev>(type);
68 if (system_type != PP_FILESYSTEMTYPE_EXTERNAL &&
69 system_type != PP_FILESYSTEMTYPE_LOCALPERSISTENT &&
70 system_type != PP_FILESYSTEMTYPE_LOCALTEMPORARY)
71 return false;
72 r->system_type = static_cast<PP_FileSystemType_Dev>(system_type);
73 return true;
74 }
75
76 // static
77 void ParamTraits<PP_FileInfo_Dev>::Log(const param_type& p, std::string* l) {
78 }
79
39 // PP_InputEvent --------------------------------------------------------------- 80 // PP_InputEvent ---------------------------------------------------------------
40 81
41 // static 82 // static
42 void ParamTraits<PP_InputEvent>::Write(Message* m, const param_type& p) { 83 void ParamTraits<PP_InputEvent>::Write(Message* m, const param_type& p) {
43 // PP_InputEvent is just POD so we can just memcpy it. 84 // PP_InputEvent is just POD so we can just memcpy it.
44 m->WriteData(reinterpret_cast<const char*>(&p), sizeof(PP_InputEvent)); 85 m->WriteData(reinterpret_cast<const char*>(&p), sizeof(PP_InputEvent));
45 } 86 }
46 87
47 // static 88 // static
48 bool ParamTraits<PP_InputEvent>::Read(const Message* m, 89 bool ParamTraits<PP_InputEvent>::Read(const Message* m,
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 173
133 // static 174 // static
134 bool ParamTraits<PP_Size>::Read(const Message* m, void** iter, param_type* r) { 175 bool ParamTraits<PP_Size>::Read(const Message* m, void** iter, param_type* r) {
135 return m->ReadInt(iter, &r->width) && m->ReadInt(iter, &r->height); 176 return m->ReadInt(iter, &r->width) && m->ReadInt(iter, &r->height);
136 } 177 }
137 178
138 // static 179 // static
139 void ParamTraits<PP_Size>::Log(const param_type& p, std::string* l) { 180 void ParamTraits<PP_Size>::Log(const param_type& p, std::string* l) {
140 } 181 }
141 182
183 // PPBFlash_DrawGlyphs_Params --------------------------------------------------
184
185 // static
186 void ParamTraits<pp::proxy::PPBFlash_DrawGlyphs_Params>::Write(
187 Message* m,
188 const param_type& p) {
189 ParamTraits<PP_Resource>::Write(m, p.pp_image_data);
190 ParamTraits<pp::proxy::SerializedFontDescription>::Write(m, p.font_desc);
191 ParamTraits<uint32_t>::Write(m, p.color);
192 ParamTraits<PP_Point>::Write(m, p.position);
193 ParamTraits<PP_Rect>::Write(m, p.clip);
194 ParamTraits<float>::Write(m, p.transformation[0][0]);
195 ParamTraits<float>::Write(m, p.transformation[0][1]);
196 ParamTraits<float>::Write(m, p.transformation[0][2]);
197 ParamTraits<float>::Write(m, p.transformation[1][0]);
198 ParamTraits<float>::Write(m, p.transformation[1][1]);
199 ParamTraits<float>::Write(m, p.transformation[1][2]);
200 ParamTraits<float>::Write(m, p.transformation[2][0]);
201 ParamTraits<float>::Write(m, p.transformation[2][1]);
202 ParamTraits<float>::Write(m, p.transformation[2][2]);
203 ParamTraits<std::vector<uint16_t> >::Write(m, p.glyph_indices);
204 ParamTraits<std::vector<PP_Point> >::Write(m, p.glyph_advances);
205 }
206
207 // static
208 bool ParamTraits<pp::proxy::PPBFlash_DrawGlyphs_Params>::Read(
209 const Message* m,
210 void** iter,
211 param_type* r) {
212 return
213 ParamTraits<PP_Resource>::Read(m, iter, &r->pp_image_data) &&
214 ParamTraits<pp::proxy::SerializedFontDescription>::Read(m, iter,
215 &r->font_desc) &&
216 ParamTraits<uint32_t>::Read(m, iter, &r->color) &&
217 ParamTraits<PP_Point>::Read(m, iter, &r->position) &&
218 ParamTraits<PP_Rect>::Read(m, iter, &r->clip) &&
219 ParamTraits<float>::Read(m, iter, &r->transformation[0][0]) &&
220 ParamTraits<float>::Read(m, iter, &r->transformation[0][1]) &&
221 ParamTraits<float>::Read(m, iter, &r->transformation[0][2]) &&
222 ParamTraits<float>::Read(m, iter, &r->transformation[1][0]) &&
223 ParamTraits<float>::Read(m, iter, &r->transformation[1][1]) &&
224 ParamTraits<float>::Read(m, iter, &r->transformation[1][2]) &&
225 ParamTraits<float>::Read(m, iter, &r->transformation[2][0]) &&
226 ParamTraits<float>::Read(m, iter, &r->transformation[2][1]) &&
227 ParamTraits<float>::Read(m, iter, &r->transformation[2][2]) &&
228 ParamTraits<std::vector<uint16_t> >::Read(m, iter, &r->glyph_indices) &&
229 ParamTraits<std::vector<PP_Point> >::Read(m, iter, &r->glyph_advances) &&
230 r->glyph_indices.size() == r->glyph_advances.size();
231 }
232
233 // static
234 void ParamTraits<pp::proxy::PPBFlash_DrawGlyphs_Params>::Log(
235 const param_type& p,
236 std::string* l) {
237 }
238
142 // PPBFont_DrawTextAt_Params --------------------------------------------------- 239 // PPBFont_DrawTextAt_Params ---------------------------------------------------
143 240
144 // static 241 // static
145 void ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Write( 242 void ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Write(
146 Message* m, 243 Message* m,
147 const param_type& p) { 244 const param_type& p) {
148 ParamTraits<PP_Resource>::Write(m, p.font); 245 ParamTraits<PP_Resource>::Write(m, p.font);
149 ParamTraits<PP_Resource>::Write(m, p.image_data); 246 ParamTraits<PP_Resource>::Write(m, p.image_data);
150 ParamTraits<PP_Bool>::Write(m, p.text_is_rtl); 247 ParamTraits<PP_Bool>::Write(m, p.text_is_rtl);
151 ParamTraits<PP_Bool>::Write(m, p.override_direction); 248 ParamTraits<PP_Bool>::Write(m, p.override_direction);
(...skipping 20 matching lines...) Expand all
172 ParamTraits<bool>::Read(m, iter, &r->clip_is_null) && 269 ParamTraits<bool>::Read(m, iter, &r->clip_is_null) &&
173 ParamTraits<PP_Bool>::Read(m, iter, &r->image_data_is_opaque); 270 ParamTraits<PP_Bool>::Read(m, iter, &r->image_data_is_opaque);
174 } 271 }
175 272
176 // static 273 // static
177 void ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Log( 274 void ParamTraits<pp::proxy::PPBFont_DrawTextAt_Params>::Log(
178 const param_type& p, 275 const param_type& p,
179 std::string* l) { 276 std::string* l) {
180 } 277 }
181 278
279 // SerializedDirEntry ----------------------------------------------------------
280
281 // static
282 void ParamTraits<pp::proxy::SerializedDirEntry>::Write(Message* m,
283 const param_type& p) {
284 ParamTraits<std::string>::Write(m, p.name);
285 ParamTraits<bool>::Write(m, p.is_dir);
286 }
287
288 // static
289 bool ParamTraits<pp::proxy::SerializedDirEntry>::Read(const Message* m,
290 void** iter,
291 param_type* r) {
292 return ParamTraits<std::string>::Read(m, iter, &r->name) &&
293 ParamTraits<bool>::Read(m, iter, &r->is_dir);
294 }
295
296 // static
297 void ParamTraits<pp::proxy::SerializedDirEntry>::Log(const param_type& p,
298 std::string* l) {
299 }
300
182 // SerializedVar --------------------------------------------------------------- 301 // SerializedVar ---------------------------------------------------------------
183 302
184 // static 303 // static
185 void ParamTraits<pp::proxy::SerializedVar>::Write(Message* m, 304 void ParamTraits<pp::proxy::SerializedVar>::Write(Message* m,
186 const param_type& p) { 305 const param_type& p) {
187 p.WriteToMessage(m); 306 p.WriteToMessage(m);
188 } 307 }
189 308
190 // static 309 // static
191 bool ParamTraits<pp::proxy::SerializedVar>::Read(const Message* m, 310 bool ParamTraits<pp::proxy::SerializedVar>::Read(const Message* m,
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 return true; 405 return true;
287 } 406 }
288 407
289 // static 408 // static
290 void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Log( 409 void ParamTraits< std::vector<pp::proxy::SerializedVar> >::Log(
291 const param_type& p, 410 const param_type& p,
292 std::string* l) { 411 std::string* l) {
293 } 412 }
294 413
295 } // namespace IPC 414 } // namespace IPC
OLDNEW
« no previous file with comments | « ppapi/proxy/ppapi_param_traits.h ('k') | ppapi/proxy/ppb_buffer_proxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698