OLD | NEW |
1 /* Copyright (c) 2012 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 | 5 |
6 /* From private/ppb_nacl_private.idl modified Thu Jul 10 10:34:30 2014. */ | 6 /* From private/ppb_nacl_private.idl modified Wed Jul 9 11:09:04 2014. */ |
7 | 7 |
8 #ifndef PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ | 8 #ifndef PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ |
9 #define PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ | 9 #define PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ |
10 | 10 |
11 #include "ppapi/c/pp_bool.h" | 11 #include "ppapi/c/pp_bool.h" |
12 #include "ppapi/c/pp_completion_callback.h" | 12 #include "ppapi/c/pp_completion_callback.h" |
13 #include "ppapi/c/pp_instance.h" | 13 #include "ppapi/c/pp_instance.h" |
14 #include "ppapi/c/pp_macros.h" | 14 #include "ppapi/c/pp_macros.h" |
15 #include "ppapi/c/pp_stdint.h" | 15 #include "ppapi/c/pp_stdint.h" |
16 #include "ppapi/c/pp_var.h" | 16 #include "ppapi/c/pp_var.h" |
17 #include "ppapi/c/private/ppp_pexe_stream_handler.h" | |
18 | 17 |
19 #define PPB_NACL_PRIVATE_INTERFACE_1_0 "PPB_NaCl_Private;1.0" | 18 #define PPB_NACL_PRIVATE_INTERFACE_1_0 "PPB_NaCl_Private;1.0" |
20 #define PPB_NACL_PRIVATE_INTERFACE PPB_NACL_PRIVATE_INTERFACE_1_0 | 19 #define PPB_NACL_PRIVATE_INTERFACE PPB_NACL_PRIVATE_INTERFACE_1_0 |
21 | 20 |
22 /** | 21 /** |
23 * @file | 22 * @file |
24 * This file contains NaCl private interfaces. This interface is not versioned | 23 * This file contains NaCl private interfaces. This interface is not versioned |
25 * and is for internal Chrome use. It may change without notice. */ | 24 * and is for internal Chrome use. It may change without notice. */ |
26 | 25 |
27 | 26 |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 struct PP_NaClFileInfo* out_file_info); | 263 struct PP_NaClFileInfo* out_file_info); |
265 /* This creates a temporary file that will be deleted by the time | 264 /* This creates a temporary file that will be deleted by the time |
266 * the last handle is closed (or earlier on POSIX systems), and | 265 * the last handle is closed (or earlier on POSIX systems), and |
267 * returns a posix handle to that temporary file. | 266 * returns a posix handle to that temporary file. |
268 */ | 267 */ |
269 PP_FileHandle (*CreateTemporaryFile)(PP_Instance instance); | 268 PP_FileHandle (*CreateTemporaryFile)(PP_Instance instance); |
270 /* Return the number of processors in the system as reported by the OS */ | 269 /* Return the number of processors in the system as reported by the OS */ |
271 int32_t (*GetNumberOfProcessors)(void); | 270 int32_t (*GetNumberOfProcessors)(void); |
272 /* Return whether the non-SFI mode is enabled. */ | 271 /* Return whether the non-SFI mode is enabled. */ |
273 PP_Bool (*IsNonSFIModeEnabled)(void); | 272 PP_Bool (*IsNonSFIModeEnabled)(void); |
| 273 /* Create a temporary file, which will be deleted by the time the |
| 274 * last handle is closed (or earlier on POSIX systems), to use for |
| 275 * the nexe with the cache information given by |pexe_url|, |
| 276 * |abi_version|, |opt_level|, and |headers|. If the nexe is already present |
| 277 * in the cache, |is_hit| is set to PP_TRUE and the contents of the nexe will |
| 278 * be copied into the temporary file. Otherwise |is_hit| is set to PP_FALSE |
| 279 * and the temporary file will be writeable. Currently the implementation is |
| 280 * a stub, which always sets is_hit to false and calls the implementation of |
| 281 * CreateTemporaryFile. In a subsequent CL it will call into the browser |
| 282 * which will remember the association between the cache key and the fd, and |
| 283 * copy the nexe into the cache after the translation finishes. |
| 284 */ |
| 285 int32_t (*GetNexeFd)(PP_Instance instance, |
| 286 const char* pexe_url, |
| 287 uint32_t abi_version, |
| 288 uint32_t opt_level, |
| 289 const char* headers, |
| 290 const char* extra_flags, |
| 291 PP_Bool* is_hit, |
| 292 PP_FileHandle* nexe_handle, |
| 293 struct PP_CompletionCallback callback); |
274 /* Report to the browser that translation of the pexe for |instance| | 294 /* Report to the browser that translation of the pexe for |instance| |
275 * has finished, or aborted with an error. If |success| is true, the | 295 * has finished, or aborted with an error. If |success| is true, the |
276 * browser may then store the translation in the cache. The renderer | 296 * browser may then store the translation in the cache. The renderer |
277 * must first have called GetNexeFd for the same instance. (The browser is | 297 * must first have called GetNexeFd for the same instance. (The browser is |
278 * not guaranteed to store the nexe even if |success| is true; if there is | 298 * not guaranteed to store the nexe even if |success| is true; if there is |
279 * an error on the browser side, or the file is too big for the cache, or | 299 * an error on the browser side, or the file is too big for the cache, or |
280 * the browser is in incognito mode, no notification will be delivered to | 300 * the browser is in incognito mode, no notification will be delivered to |
281 * the plugin.) | 301 * the plugin.) |
282 */ | 302 */ |
283 void (*ReportTranslationFinished)(PP_Instance instance, | 303 void (*ReportTranslationFinished)(PP_Instance instance, |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 */ | 409 */ |
390 void (*OpenManifestEntry)(PP_Instance instance, | 410 void (*OpenManifestEntry)(PP_Instance instance, |
391 PP_Bool is_helper_process, | 411 PP_Bool is_helper_process, |
392 const char* key, | 412 const char* key, |
393 struct PP_NaClFileInfo* file_info, | 413 struct PP_NaClFileInfo* file_info, |
394 struct PP_CompletionCallback callback); | 414 struct PP_CompletionCallback callback); |
395 /* Sets the start time for PNaCl downloading and translation to the current | 415 /* Sets the start time for PNaCl downloading and translation to the current |
396 * time. | 416 * time. |
397 */ | 417 */ |
398 void (*SetPNaClStartTime)(PP_Instance instance); | 418 void (*SetPNaClStartTime)(PP_Instance instance); |
399 /* Downloads and streams a pexe file for PNaCl translation. | |
400 * Fetches the content at |pexe_url| for the given instance and opt_level. | |
401 * If a translated cached nexe is already available, |cache_hit_handle| | |
402 * is set and |cache_hit_callback| is called. | |
403 * Otherwise, |stream_callback| is called repeatedly with blocks of data | |
404 * as they are received. |stream_finished_callback| is called after all | |
405 * data has been received and dispatched to |stream_callback|. | |
406 */ | |
407 void (*StreamPexe)(PP_Instance instance, | |
408 const char* pexe_url, | |
409 int32_t opt_level, | |
410 const struct PPP_PexeStreamHandler_1_0* stream_handler, | |
411 void* stream_handler_user_data); | |
412 }; | 419 }; |
413 | 420 |
414 typedef struct PPB_NaCl_Private_1_0 PPB_NaCl_Private; | 421 typedef struct PPB_NaCl_Private_1_0 PPB_NaCl_Private; |
415 /** | 422 /** |
416 * @} | 423 * @} |
417 */ | 424 */ |
418 | 425 |
419 #endif /* PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ */ | 426 #endif /* PPAPI_C_PRIVATE_PPB_NACL_PRIVATE_H_ */ |
420 | 427 |
OLD | NEW |