1 /* Copyright 2014 The Chromium Authors. All rights reserved. 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. 4 */ 5 6 /* From private/ppp_pexe_stream_handler.idl, 7 * modified Wed Aug 6 13:11:06 2014. 8 */ 9 10 #ifndef PPAPI_C_PRIVATE_PPP_PEXE_STREAM_HANDLER_H_ 11 #define PPAPI_C_PRIVATE_PPP_PEXE_STREAM_HANDLER_H_ 12 13 #include "ppapi/c/pp_macros.h" 14 #include "ppapi/c/pp_stdint.h" 15 16 #define PPP_PEXESTREAMHANDLER_INTERFACE_1_0 "PPP_PexeStreamHandler;1.0" 17 #define PPP_PEXESTREAMHANDLER_INTERFACE PPP_PEXESTREAMHANDLER_INTERFACE_1_0 18 19 /** 20 * @file 21 * This file contains NaCl private interfaces. This interface is not versioned 22 * and is for internal Chrome use. It may change without notice. */ 23 24 25 #include "ppapi/c/private/pp_file_handle.h" 26 27 /** 28 * @addtogroup Interfaces 29 * @{ 30 */ 31 struct PPP_PexeStreamHandler_1_0 { 32 /** 33 * Invoked as a result of a cache hit for a translated pexe. 34 */ 35 void (*DidCacheHit)(void* user_data, PP_FileHandle nexe_file_handle); 36 /** 37 * Invoked as a result of a cache miss for a translated pexe. 38 * Provides the expected length of the pexe, as read from HTTP headers. 39 */ 40 void (*DidCacheMiss)(void* user_data, 41 int64_t expected_total_length, 42 PP_FileHandle temp_nexe_file); 43 /** 44 * Invoked when a block of data has been downloaded. 45 * Only invoked after DidCacheMiss(). 46 */ 47 void (*DidStreamData)(void* user_data, const void* data, int32_t length); 48 /** 49 * Invoked when the stream has finished downloading, regardless of whether it 50 * succeeded. Not invoked if DidCacheHit() was called. 51 */ 52 void (*DidFinishStream)(void* user_data, int32_t pp_error); 53 }; 54 55 typedef struct PPP_PexeStreamHandler_1_0 PPP_PexeStreamHandler; 56 /** 57 * @} 58 */ 59 60 #endif /* PPAPI_C_PRIVATE_PPP_PEXE_STREAM_HANDLER_H_ */ 61 62