Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / ppapi / api / private / ppp_pexe_stream_handler.idl
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 };