Pepper_31_C_interfaces
ppb_url_response_info.h
Go to the documentation of this file.
1 /* Copyright (c) 2012 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 ppb_url_response_info.idl modified Mon Nov 14 10:36:01 2011. */
7 
8 #ifndef PPAPI_C_PPB_URL_RESPONSE_INFO_H_
9 #define PPAPI_C_PPB_URL_RESPONSE_INFO_H_
10 
11 #include "ppapi/c/pp_bool.h"
12 #include "ppapi/c/pp_macros.h"
13 #include "ppapi/c/pp_resource.h"
14 #include "ppapi/c/pp_stdint.h"
15 #include "ppapi/c/pp_var.h"
16 
17 #define PPB_URLRESPONSEINFO_INTERFACE_1_0 "PPB_URLResponseInfo;1.0"
18 #define PPB_URLRESPONSEINFO_INTERFACE PPB_URLRESPONSEINFO_INTERFACE_1_0
19 
20 /**
21  * @file
22  * This file defines the <code>PPB_URLResponseInfo</code> API for examining URL
23  * responses.
24  */
25 
26 
27 /**
28  * @addtogroup Enums
29  * @{
30  */
31 /**
32  * This enumeration contains properties set on a URL response.
33  */
34 typedef enum {
35  /**
36  * This corresponds to a string (PP_VARTYPE_STRING); an absolute URL formed by
37  * resolving the relative request URL with the absolute document URL. Refer
38  * to the
39  * <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2">
40  * HTTP Request URI</a> and
41  * <a href="http://www.w3.org/TR/html4/struct/links.html#h-12.4.1">
42  * HTML Resolving Relative URIs</a> documentation for further information.
43  */
45  /**
46  * This corresponds to a string (PP_VARTYPE_STRING); the absolute URL returned
47  * in the response header's 'Location' field if this is a redirect response,
48  * an empty string otherwise. Refer to the
49  * <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3">
50  * HTTP Status Codes - Redirection</a> documentation for further information.
51  */
53  /**
54  * This corresponds to a string (PP_VARTYPE_STRING); the HTTP method to be
55  * used in a new request if this is a redirect response, an empty string
56  * otherwise. Refer to the
57  * <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3">
58  * HTTP Status Codes - Redirection</a> documentation for further information.
59  */
61  /**
62  * This corresponds to an int32 (PP_VARETYPE_INT32); the status code from the
63  * response, e.g., 200 if the request was successful. Refer to the
64  * <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1">
65  * HTTP Status Code and Reason Phrase</a> documentation for further
66  * information.
67  */
69  /**
70  * This corresponds to a string (PP_VARTYPE_STRING); the status line
71  * from the response. Refer to the
72  * <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1">
73  * HTTP Response Status Line</a> documentation for further information.
74  */
76  /**
77  * This corresponds to a string(PP_VARTYPE_STRING), a \n-delimited list of
78  * header field/value pairs of the form "field: value", returned by the
79  * server. Refer to the
80  * <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14">
81  * HTTP Header Field Definitions</a> documentation for further information.
82  */
86 /**
87  * @}
88  */
89 
90 /**
91  * @addtogroup Interfaces
92  * @{
93  */
94 /**
95  * The PPB_URLResponseInfo interface contains APIs for
96  * examining URL responses. Refer to <code>PPB_URLLoader</code> for further
97  * information.
98  */
100  /**
101  * IsURLResponseInfo() determines if a response is a
102  * <code>URLResponseInfo</code>.
103  *
104  * @param[in] resource A <code>PP_Resource</code> corresponding to a
105  * <code>URLResponseInfo</code>.
106  *
107  * @return <code>PP_TRUE</code> if the resource is a
108  * <code>URLResponseInfo</code>, <code>PP_FALSE</code> if the resource is
109  * invalid or some type other than <code>URLResponseInfo</code>.
110  */
112  /**
113  * GetProperty() gets a response property.
114  *
115  * @param[in] request A <code>PP_Resource</code> corresponding to a
116  * <code>URLResponseInfo</code>.
117  * @param[in] property A <code>PP_URLResponseProperty</code> identifying
118  * the type of property in the response.
119  *
120  * @return A <code>PP_Var</code> containing the response property value if
121  * successful, <code>PP_VARTYPE_VOID</code> if an input parameter is invalid.
122  */
123  struct PP_Var (*GetProperty)(PP_Resource response,
124  PP_URLResponseProperty property);
125  /**
126  * GetBodyAsFileRef() returns a FileRef pointing to the file containing the
127  * response body. This is only valid if
128  * <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the
129  * <code>URLRequestInfo</code> used to produce this response. This file
130  * remains valid until the <code>URLLoader</code> associated with this
131  * <code>URLResponseInfo</code> is closed or destroyed.
132  *
133  * @param[in] request A <code>PP_Resource</code> corresponding to a
134  * <code>URLResponseInfo</code>.
135  *
136  * @return A <code>PP_Resource</code> corresponding to a <code>FileRef</code>
137  * if successful, 0 if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was
138  * not requested or if the <code>URLLoader</code> has not been opened yet.
139  */
141 };
142 
144 /**
145  * @}
146  */
147 
148 #endif /* PPAPI_C_PPB_URL_RESPONSE_INFO_H_ */
149 
PP_URLResponseProperty
int32_t PP_Resource
Definition: pp_resource.h:40
PP_Bool(* IsURLResponseInfo)(PP_Resource resource)
PP_Resource(* GetBodyAsFileRef)(PP_Resource response)
Definition: pp_var.h:155
struct PP_Var(* GetProperty)(PP_Resource response, PP_URLResponseProperty property)
PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_URLResponseProperty, 4)
PP_Bool
Definition: pp_bool.h:30