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 /* 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