Home | History | Annotate | Download | only in private
      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