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 /* This file contains NaCl private interfaces. This interface is not versioned 7 * and is for internal Chrome use. It may change without notice. */ 8 9 #inline c 10 #include "ppapi/c/private/pp_file_handle.h" 11 #endinl 12 13 label Chrome { 14 M25 = 1.0 15 }; 16 17 interface PPP_PexeStreamHandler { 18 /** 19 * Invoked as a result of a cache hit for a translated pexe. 20 */ 21 void DidCacheHit([inout] mem_t user_data, 22 [in] PP_FileHandle nexe_file_handle); 23 24 /** 25 * Invoked as a result of a cache miss for a translated pexe. 26 * Provides the expected length of the pexe, as read from HTTP headers. 27 */ 28 void DidCacheMiss([inout] mem_t user_data, 29 [in] int64_t expected_total_length, 30 [in] PP_FileHandle temp_nexe_file); 31 32 /** 33 * Invoked when a block of data has been downloaded. 34 * Only invoked after DidCacheMiss(). 35 */ 36 void DidStreamData([inout] mem_t user_data, 37 [in] mem_t data, 38 [in] int32_t length); 39 40 /** 41 * Invoked when the stream has finished downloading, regardless of whether it 42 * succeeded. Not invoked if DidCacheHit() was called. 43 */ 44 void DidFinishStream([inout] mem_t user_data, 45 [in] int32_t pp_error); 46 }; 47