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

Side by Side Diff: ppapi/native_client/src/shared/ppapi_proxy/plugin_ppb_file_io.cc

Issue 9253011: Pepper SRPC proxy style and type nits (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix bad license to pass presubmit check Created 8 years, 11 months 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "native_client/src/shared/ppapi_proxy/plugin_ppb_file_io.h" 5 #include "native_client/src/shared/ppapi_proxy/plugin_ppb_file_io.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "native_client/src/include/nacl_scoped_ptr.h" 10 #include "native_client/src/include/nacl_scoped_ptr.h"
11 #include "native_client/src/include/portability.h" 11 #include "native_client/src/include/portability.h"
12 #include "native_client/src/shared/ppapi_proxy/plugin_callback.h" 12 #include "native_client/src/shared/ppapi_proxy/plugin_callback.h"
13 #include "native_client/src/shared/ppapi_proxy/plugin_globals.h" 13 #include "native_client/src/shared/ppapi_proxy/plugin_globals.h"
14 #include "native_client/src/shared/ppapi_proxy/utility.h" 14 #include "native_client/src/shared/ppapi_proxy/utility.h"
15 #include "ppapi/c/pp_completion_callback.h" 15 #include "ppapi/c/pp_completion_callback.h"
16 #include "ppapi/c/pp_file_info.h" 16 #include "ppapi/c/pp_file_info.h"
17 #include "ppapi/c/pp_errors.h" 17 #include "ppapi/c/pp_errors.h"
18 #include "ppapi/c/ppb_file_io.h" 18 #include "ppapi/c/ppb_file_io.h"
19 #include "srpcgen/ppb_rpc.h" 19 #include "srpcgen/ppb_rpc.h"
20 20
21 namespace ppapi_proxy { 21 namespace ppapi_proxy {
22 22
23 namespace { 23 namespace {
24 24
25 PP_Resource Create(PP_Instance instance) { 25 PP_Resource Create(PP_Instance instance) {
26 DebugPrintf("PPB_FileIO::Create: instance=%"NACL_PRIu32"\n", instance); 26 DebugPrintf("PPB_FileIO::Create: instance=%"NACL_PRId32"\n", instance);
27 PP_Resource resource = kInvalidResourceId; 27 PP_Resource resource = kInvalidResourceId;
28 NaClSrpcError srpc_result = 28 NaClSrpcError srpc_result =
29 PpbFileIORpcClient::PPB_FileIO_Create( 29 PpbFileIORpcClient::PPB_FileIO_Create(
30 GetMainSrpcChannel(), 30 GetMainSrpcChannel(),
31 instance, 31 instance,
32 &resource); 32 &resource);
33 33
34 DebugPrintf("PPB_FileIO::Create: %s\n", NaClSrpcErrorString(srpc_result)); 34 DebugPrintf("PPB_FileIO::Create: %s\n", NaClSrpcErrorString(srpc_result));
35 35
36 if (srpc_result == NACL_SRPC_RESULT_OK) 36 if (srpc_result == NACL_SRPC_RESULT_OK)
37 return resource; 37 return resource;
38 return kInvalidResourceId; 38 return kInvalidResourceId;
39 } 39 }
40 40
41 PP_Bool IsFileIO(PP_Resource resource) { 41 PP_Bool IsFileIO(PP_Resource resource) {
42 DebugPrintf("PPB_FileIO::IsFileIO: resource=%"NACL_PRIu32"\n", resource); 42 DebugPrintf("PPB_FileIO::IsFileIO: resource=%"NACL_PRId32"\n", resource);
43 43
44 int32_t is_fileio = 0; 44 int32_t is_fileio = 0;
45 NaClSrpcError srpc_result = 45 NaClSrpcError srpc_result =
46 PpbFileIORpcClient::PPB_FileIO_IsFileIO( 46 PpbFileIORpcClient::PPB_FileIO_IsFileIO(
47 GetMainSrpcChannel(), 47 GetMainSrpcChannel(),
48 resource, 48 resource,
49 &is_fileio); 49 &is_fileio);
50 50
51 DebugPrintf("PPB_FileIO::IsFileIO: %s\n", NaClSrpcErrorString(srpc_result)); 51 DebugPrintf("PPB_FileIO::IsFileIO: %s\n", NaClSrpcErrorString(srpc_result));
52 52
53 if (srpc_result == NACL_SRPC_RESULT_OK && is_fileio) 53 if (srpc_result == NACL_SRPC_RESULT_OK && is_fileio)
54 return PP_TRUE; 54 return PP_TRUE;
55 return PP_FALSE; 55 return PP_FALSE;
56 } 56 }
57 57
58 int32_t Open(PP_Resource file_io, 58 int32_t Open(PP_Resource file_io,
59 PP_Resource file_ref, 59 PP_Resource file_ref,
60 int32_t open_flags, 60 int32_t open_flags,
61 struct PP_CompletionCallback callback) { 61 struct PP_CompletionCallback callback) {
62 DebugPrintf("PPB_FileIO::Open: file_io=%"NACL_PRIu32", " 62 DebugPrintf("PPB_FileIO::Open: file_io=%"NACL_PRId32", "
63 "file_ref=%"NACL_PRIu32", open_flags=%"NACL_PRId32"\n", file_io, 63 "file_ref=%"NACL_PRId32", open_flags=%"NACL_PRId32"\n", file_io,
64 file_ref, open_flags); 64 file_ref, open_flags);
65 65
66 int32_t callback_id = 66 int32_t callback_id =
67 CompletionCallbackTable::Get()->AddCallback(callback); 67 CompletionCallbackTable::Get()->AddCallback(callback);
68 if (callback_id == 0) // Just like Chrome, for now disallow blocking calls. 68 if (callback_id == 0) // Just like Chrome, for now disallow blocking calls.
69 return PP_ERROR_BLOCKS_MAIN_THREAD; 69 return PP_ERROR_BLOCKS_MAIN_THREAD;
70 70
71 int32_t pp_error; 71 int32_t pp_error;
72 NaClSrpcError srpc_result = 72 NaClSrpcError srpc_result =
73 PpbFileIORpcClient::PPB_FileIO_Open( 73 PpbFileIORpcClient::PPB_FileIO_Open(
74 GetMainSrpcChannel(), 74 GetMainSrpcChannel(),
75 file_io, 75 file_io,
76 file_ref, 76 file_ref,
77 open_flags, 77 open_flags,
78 callback_id, 78 callback_id,
79 &pp_error); 79 &pp_error);
80 80
81 DebugPrintf("PPB_FileIO::Open: %s\n", NaClSrpcErrorString(srpc_result)); 81 DebugPrintf("PPB_FileIO::Open: %s\n", NaClSrpcErrorString(srpc_result));
82 82
83 if (srpc_result != NACL_SRPC_RESULT_OK) 83 if (srpc_result != NACL_SRPC_RESULT_OK)
84 pp_error = PP_ERROR_FAILED; 84 pp_error = PP_ERROR_FAILED;
85 return MayForceCallback(callback, pp_error); 85 return MayForceCallback(callback, pp_error);
86 } 86 }
87 87
88 int32_t Query(PP_Resource file_io, 88 int32_t Query(PP_Resource file_io,
89 PP_FileInfo* info, 89 PP_FileInfo* info,
90 struct PP_CompletionCallback callback) { 90 struct PP_CompletionCallback callback) {
91 DebugPrintf("PPB_FileIO::Query: file_io=%"NACL_PRIu32"\n", file_io); 91 DebugPrintf("PPB_FileIO::Query: file_io=%"NACL_PRId32"\n", file_io);
92 if (callback.func == 0) // Just like Chrome, for now disallow blocking calls. 92 if (callback.func == 0) // Just like Chrome, for now disallow blocking calls.
93 return PP_ERROR_BLOCKS_MAIN_THREAD; 93 return PP_ERROR_BLOCKS_MAIN_THREAD;
94 94
95 int32_t callback_id = CompletionCallbackTable::Get()->AddCallback( 95 int32_t callback_id = CompletionCallbackTable::Get()->AddCallback(
96 callback, reinterpret_cast<char*>(info)); 96 callback, reinterpret_cast<char*>(info));
97 97
98 nacl_abi_size_t info_size = 0; 98 nacl_abi_size_t info_size = 0;
99 int32_t pp_error = PP_ERROR_FAILED; 99 int32_t pp_error = PP_ERROR_FAILED;
100 NaClSrpcError srpc_result = 100 NaClSrpcError srpc_result =
101 PpbFileIORpcClient::PPB_FileIO_Query( 101 PpbFileIORpcClient::PPB_FileIO_Query(
102 GetMainSrpcChannel(), 102 GetMainSrpcChannel(),
103 file_io, 103 file_io,
104 sizeof(PP_FileInfo), 104 sizeof(PP_FileInfo),
105 callback_id, 105 callback_id,
106 &info_size, 106 &info_size,
107 reinterpret_cast<char*>(info), 107 reinterpret_cast<char*>(info),
108 &pp_error); 108 &pp_error);
109 109
110 DebugPrintf("PPB_FileIO::Query: %s\n", NaClSrpcErrorString(srpc_result)); 110 DebugPrintf("PPB_FileIO::Query: %s\n", NaClSrpcErrorString(srpc_result));
111 111
112 if (srpc_result != NACL_SRPC_RESULT_OK) 112 if (srpc_result != NACL_SRPC_RESULT_OK)
113 pp_error = PP_ERROR_FAILED; 113 pp_error = PP_ERROR_FAILED;
114 return MayForceCallback(callback, pp_error); 114 return MayForceCallback(callback, pp_error);
115 } 115 }
116 116
117 int32_t Touch(PP_Resource file_io, 117 int32_t Touch(PP_Resource file_io,
118 PP_Time last_access_time, 118 PP_Time last_access_time,
119 PP_Time last_modified_time, 119 PP_Time last_modified_time,
120 struct PP_CompletionCallback callback) { 120 struct PP_CompletionCallback callback) {
121 DebugPrintf("PPB_FileIO::Touch: file_io=%"NACL_PRIu32", " 121 DebugPrintf("PPB_FileIO::Touch: file_io=%"NACL_PRId32", "
122 "last_access_time=%ls, last_modified_time=%lf\n", file_io, 122 "last_access_time=%ls, last_modified_time=%lf\n", file_io,
123 last_access_time, last_modified_time); 123 last_access_time, last_modified_time);
124 124
125 if (std::isnan(last_access_time) || 125 if (std::isnan(last_access_time) ||
126 std::isnan(last_modified_time)) { 126 std::isnan(last_modified_time)) {
127 return PP_ERROR_BADARGUMENT; 127 return PP_ERROR_BADARGUMENT;
128 } 128 }
129 129
130 int32_t callback_id = 130 int32_t callback_id =
131 CompletionCallbackTable::Get()->AddCallback(callback); 131 CompletionCallbackTable::Get()->AddCallback(callback);
(...skipping 15 matching lines...) Expand all
147 if (srpc_result != NACL_SRPC_RESULT_OK) 147 if (srpc_result != NACL_SRPC_RESULT_OK)
148 pp_error = PP_ERROR_FAILED; 148 pp_error = PP_ERROR_FAILED;
149 return MayForceCallback(callback, pp_error); 149 return MayForceCallback(callback, pp_error);
150 } 150 }
151 151
152 int32_t Read(PP_Resource file_io, 152 int32_t Read(PP_Resource file_io,
153 int64_t offset, 153 int64_t offset,
154 char* buffer, 154 char* buffer,
155 int32_t bytes_to_read, 155 int32_t bytes_to_read,
156 struct PP_CompletionCallback callback) { 156 struct PP_CompletionCallback callback) {
157 DebugPrintf("PPB_FileIO::Read: file_io=%"NACL_PRIu32", " 157 DebugPrintf("PPB_FileIO::Read: file_io=%"NACL_PRId32", "
158 "offset=%"NACL_PRId64", bytes_to_read=%"NACL_PRId32"\n", file_io, 158 "offset=%"NACL_PRId64", bytes_to_read=%"NACL_PRId32"\n", file_io,
159 offset, bytes_to_read); 159 offset, bytes_to_read);
160 160
161 if (bytes_to_read < 0) 161 if (bytes_to_read < 0)
162 return PP_ERROR_FAILED; 162 return PP_ERROR_FAILED;
163 nacl_abi_size_t buffer_size = static_cast<nacl_abi_size_t>(bytes_to_read); 163 nacl_abi_size_t buffer_size = static_cast<nacl_abi_size_t>(bytes_to_read);
164 164
165 int32_t callback_id = 165 int32_t callback_id =
166 CompletionCallbackTable::Get()->AddCallback(callback, buffer); 166 CompletionCallbackTable::Get()->AddCallback(callback, buffer);
167 if (callback_id == 0) // Just like Chrome, for now disallow blocking calls. 167 if (callback_id == 0) // Just like Chrome, for now disallow blocking calls.
(...skipping 16 matching lines...) Expand all
184 if (srpc_result != NACL_SRPC_RESULT_OK) 184 if (srpc_result != NACL_SRPC_RESULT_OK)
185 pp_error_or_bytes = PP_ERROR_FAILED; 185 pp_error_or_bytes = PP_ERROR_FAILED;
186 return MayForceCallback(callback, pp_error_or_bytes); 186 return MayForceCallback(callback, pp_error_or_bytes);
187 } 187 }
188 188
189 int32_t Write(PP_Resource file_io, 189 int32_t Write(PP_Resource file_io,
190 int64_t offset, 190 int64_t offset,
191 const char* buffer, 191 const char* buffer,
192 int32_t bytes_to_write, 192 int32_t bytes_to_write,
193 struct PP_CompletionCallback callback) { 193 struct PP_CompletionCallback callback) {
194 DebugPrintf("PPB_FileIO::Write: file_io=%"NACL_PRIu32", offset=" 194 DebugPrintf("PPB_FileIO::Write: file_io=%"NACL_PRId32", offset="
195 "%"NACL_PRId64", bytes_to_write=%"NACL_PRId32"\n", file_io, 195 "%"NACL_PRId64", bytes_to_write=%"NACL_PRId32"\n", file_io,
196 offset, bytes_to_write); 196 offset, bytes_to_write);
197 197
198 if (bytes_to_write < 0) 198 if (bytes_to_write < 0)
199 return PP_ERROR_FAILED; 199 return PP_ERROR_FAILED;
200 nacl_abi_size_t buffer_size = static_cast<nacl_abi_size_t>(bytes_to_write); 200 nacl_abi_size_t buffer_size = static_cast<nacl_abi_size_t>(bytes_to_write);
201 201
202 int32_t callback_id = 202 int32_t callback_id =
203 CompletionCallbackTable::Get()->AddCallback(callback); 203 CompletionCallbackTable::Get()->AddCallback(callback);
204 if (callback_id == 0) // Just like Chrome, for now disallow blocking calls. 204 if (callback_id == 0) // Just like Chrome, for now disallow blocking calls.
(...skipping 13 matching lines...) Expand all
218 DebugPrintf("PPB_FileIO::Write: %s\n", NaClSrpcErrorString(srpc_result)); 218 DebugPrintf("PPB_FileIO::Write: %s\n", NaClSrpcErrorString(srpc_result));
219 219
220 if (srpc_result != NACL_SRPC_RESULT_OK) 220 if (srpc_result != NACL_SRPC_RESULT_OK)
221 pp_error_or_bytes = PP_ERROR_FAILED; 221 pp_error_or_bytes = PP_ERROR_FAILED;
222 return MayForceCallback(callback, pp_error_or_bytes); 222 return MayForceCallback(callback, pp_error_or_bytes);
223 } 223 }
224 224
225 int32_t SetLength(PP_Resource file_io, 225 int32_t SetLength(PP_Resource file_io,
226 int64_t length, 226 int64_t length,
227 struct PP_CompletionCallback callback) { 227 struct PP_CompletionCallback callback) {
228 DebugPrintf("PPB_FileIO::SetLength: file_io=%"NACL_PRIu32", length=" 228 DebugPrintf("PPB_FileIO::SetLength: file_io=%"NACL_PRId32", length="
229 "%"NACL_PRId64"\n", file_io, length); 229 "%"NACL_PRId64"\n", file_io, length);
230 230
231 int32_t callback_id = 231 int32_t callback_id =
232 CompletionCallbackTable::Get()->AddCallback(callback); 232 CompletionCallbackTable::Get()->AddCallback(callback);
233 if (callback_id == 0) // Just like Chrome, for now disallow blocking calls. 233 if (callback_id == 0) // Just like Chrome, for now disallow blocking calls.
234 return PP_ERROR_BLOCKS_MAIN_THREAD; 234 return PP_ERROR_BLOCKS_MAIN_THREAD;
235 235
236 int32_t pp_error = PP_ERROR_FAILED; 236 int32_t pp_error = PP_ERROR_FAILED;
237 NaClSrpcError srpc_result = PpbFileIORpcClient::PPB_FileIO_SetLength( 237 NaClSrpcError srpc_result = PpbFileIORpcClient::PPB_FileIO_SetLength(
238 GetMainSrpcChannel(), 238 GetMainSrpcChannel(),
239 file_io, 239 file_io,
240 length, 240 length,
241 callback_id, 241 callback_id,
242 &pp_error); 242 &pp_error);
243 243
244 DebugPrintf("PPB_FileIO::SetLength: %s\n", 244 DebugPrintf("PPB_FileIO::SetLength: %s\n",
245 NaClSrpcErrorString(srpc_result)); 245 NaClSrpcErrorString(srpc_result));
246 246
247 if (srpc_result != NACL_SRPC_RESULT_OK) 247 if (srpc_result != NACL_SRPC_RESULT_OK)
248 pp_error = PP_ERROR_FAILED; 248 pp_error = PP_ERROR_FAILED;
249 return MayForceCallback(callback, pp_error); 249 return MayForceCallback(callback, pp_error);
250 } 250 }
251 251
252 int32_t Flush(PP_Resource file_io, 252 int32_t Flush(PP_Resource file_io,
253 struct PP_CompletionCallback callback) { 253 struct PP_CompletionCallback callback) {
254 DebugPrintf("PPB_FileIO::Flush: file_io=%"NACL_PRIu32"\n", file_io); 254 DebugPrintf("PPB_FileIO::Flush: file_io=%"NACL_PRId32"\n", file_io);
255 255
256 int32_t callback_id = 256 int32_t callback_id =
257 CompletionCallbackTable::Get()->AddCallback(callback); 257 CompletionCallbackTable::Get()->AddCallback(callback);
258 if (callback_id == 0) // Just like Chrome, for now disallow blocking calls. 258 if (callback_id == 0) // Just like Chrome, for now disallow blocking calls.
259 return PP_ERROR_BLOCKS_MAIN_THREAD; 259 return PP_ERROR_BLOCKS_MAIN_THREAD;
260 260
261 int32_t pp_error = PP_ERROR_FAILED; 261 int32_t pp_error = PP_ERROR_FAILED;
262 NaClSrpcError srpc_result = PpbFileIORpcClient::PPB_FileIO_Flush( 262 NaClSrpcError srpc_result = PpbFileIORpcClient::PPB_FileIO_Flush(
263 GetMainSrpcChannel(), 263 GetMainSrpcChannel(),
264 file_io, 264 file_io,
265 callback_id, 265 callback_id,
266 &pp_error); 266 &pp_error);
267 267
268 DebugPrintf("PPB_FileIO::Flush: %s\n", NaClSrpcErrorString(srpc_result)); 268 DebugPrintf("PPB_FileIO::Flush: %s\n", NaClSrpcErrorString(srpc_result));
269 269
270 if (srpc_result != NACL_SRPC_RESULT_OK) 270 if (srpc_result != NACL_SRPC_RESULT_OK)
271 pp_error = PP_ERROR_FAILED; 271 pp_error = PP_ERROR_FAILED;
272 return MayForceCallback(callback, pp_error); 272 return MayForceCallback(callback, pp_error);
273 } 273 }
274 274
275 void Close(PP_Resource file_io) { 275 void Close(PP_Resource file_io) {
276 DebugPrintf("PPB_FileIO::Close: file_io=%"NACL_PRIu32"\n", file_io); 276 DebugPrintf("PPB_FileIO::Close: file_io=%"NACL_PRId32"\n", file_io);
277 277
278 NaClSrpcError srpc_result = PpbFileIORpcClient::PPB_FileIO_Close( 278 NaClSrpcError srpc_result = PpbFileIORpcClient::PPB_FileIO_Close(
279 GetMainSrpcChannel(), 279 GetMainSrpcChannel(),
280 file_io); 280 file_io);
281 281
282 DebugPrintf("PPB_FileIO::Close: %s\n", NaClSrpcErrorString(srpc_result)); 282 DebugPrintf("PPB_FileIO::Close: %s\n", NaClSrpcErrorString(srpc_result));
283 } 283 }
284 284
285 } // namespace 285 } // namespace
286 286
287 const PPB_FileIO* PluginFileIO::GetInterface() { 287 const PPB_FileIO* PluginFileIO::GetInterface() {
288 static const PPB_FileIO file_io_interface = { 288 static const PPB_FileIO file_io_interface = {
289 Create, 289 Create,
290 IsFileIO, 290 IsFileIO,
291 Open, 291 Open,
292 Query, 292 Query,
293 Touch, 293 Touch,
294 Read, 294 Read,
295 Write, 295 Write,
296 SetLength, 296 SetLength,
297 Flush, 297 Flush,
298 Close 298 Close
299 }; 299 };
300 return &file_io_interface; 300 return &file_io_interface;
301 } 301 }
302 302
303 } // namespace ppapi_proxy 303 } // namespace ppapi_proxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698