| // Copyright (c) 2011 The Chromium Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #ifndef PPAPI_CPP_URL_RESPONSE_INFO_H_ | |
| #define PPAPI_CPP_URL_RESPONSE_INFO_H_ | |
| #include <stdint.h> | |
| #include "ppapi/c/ppb_url_response_info.h" | |
| #include "ppapi/cpp/resource.h" | |
| #include "ppapi/cpp/var.h" | |
| /// @file | |
| /// This file defines the API for examining URL responses. | |
| namespace pp { | |
| class FileRef; | |
| /// URLResponseInfo provides an API for examining URL responses. | |
| class URLResponseInfo : public Resource { | |
| public: | |
| /// Default constructor. This constructor creates an <code>is_null</code> | |
| /// resource. | |
| URLResponseInfo() {} | |
| /// A constructor used when you have received a <code>PP_Resource</code> as a | |
| /// return value that has already been reference counted. | |
| /// | |
| /// @param[in] resource A <code>PP_Resource</code> corresponding to a | |
| /// resource. | |
| URLResponseInfo(PassRef, PP_Resource resource); | |
| /// The copy constructor for <code>URLResponseInfo</code>. | |
| URLResponseInfo(const URLResponseInfo& other); | |
| /// This function gets a response property. | |
| /// | |
| /// @param[in] property A <code>PP_URLResponseProperty</code> identifying the | |
| /// type of property in the response. | |
| /// | |
| /// @return A <code>Var</code> containing the response property value if | |
| /// successful, <code>is_undefined Var</code> if an input parameter is | |
| /// invalid. | |
| Var GetProperty(PP_URLResponseProperty property) const; | |
| /// This function returns an <code>is_null</code> object, as the | |
| /// <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> is no longer supported. | |
| /// <code>URLResponseInfo</code> is closed or destroyed. | |
| /// | |
| /// @return An <code>is_null</code> object. | |
| FileRef GetBodyAsFileRef() const; | |
| /// This function gets the <code>PP_URLRESPONSEPROPERTY_URL</code> | |
| /// property for the response. | |
| /// | |
| /// @return An <code>is_string Var</code> containing the response property | |
| /// value if successful, <code>is_undefined Var</code> if an input parameter | |
| /// is invalid. | |
| Var GetURL() const { | |
| return GetProperty(PP_URLRESPONSEPROPERTY_URL); | |
| } | |
| /// This function gets the <code>PP_URLRESPONSEPROPERTY_REDIRECTURL</code> | |
| /// property for the response. | |
| /// | |
| /// @return An <code>is_string Var</code> containing the response property | |
| /// value if successful, <code>is_undefined Var</code> if an input parameter | |
| /// is invalid. | |
| Var GetRedirectURL() const { | |
| return GetProperty(PP_URLRESPONSEPROPERTY_REDIRECTURL); | |
| } | |
| /// This function gets the <code>PP_URLRESPONSEPROPERTY_REDIRECTMETHOD</code> | |
| /// property for the response. | |
| /// | |
| /// @return An <code>is_string Var</code> containing the response property | |
| /// value if successful, <code>is_undefined Var</code> if an input parameter | |
| /// is invalid. | |
| Var GetRedirectMethod() const { | |
| return GetProperty(PP_URLRESPONSEPROPERTY_REDIRECTMETHOD); | |
| } | |
| /// This function gets the <code>PP_URLRESPONSEPROPERTY_STATUSCODE</code> | |
| /// property for the response. | |
| /// | |
| /// @return A int32_t containing the response property value if successful, | |
| /// <code>is_undefined Var</code> if an input parameter is invalid. | |
| int32_t GetStatusCode() const { | |
| return GetProperty(PP_URLRESPONSEPROPERTY_STATUSCODE).AsInt(); | |
| } | |
| /// This function gets the <code>PP_URLRESPONSEPROPERTY_STATUSLINE</code> | |
| /// property for the response. | |
| /// | |
| /// @return An <code>is_string Var</code> containing the response property | |
| /// value if successful, <code>is_undefined Var</code> if an input parameter | |
| /// is invalid. | |
| Var GetStatusLine() const { | |
| return GetProperty(PP_URLRESPONSEPROPERTY_STATUSLINE); | |
| } | |
| /// This function gets the <code>PP_URLRESPONSEPROPERTY_HEADERS</code> | |
| /// property for the response. | |
| /// | |
| /// @return An <code>is_string Var</code> containing the response property | |
| /// value if successful, <code>is_undefined Var</code> if an input parameter | |
| /// is invalid. | |
| Var GetHeaders() const { | |
| return GetProperty(PP_URLRESPONSEPROPERTY_HEADERS); | |
| } | |
| }; | |
| } // namespace pp | |
| #endif // PPAPI_CPP_URL_RESPONSE_INFO_H_ |