//! This file has been automatically generated by `objc2`'s `header-translator`. //! DO NOT EDIT use core::ffi::*; use core::ptr::NonNull; use objc2::__framework_prelude::*; use crate::*; extern_class!( /// An NSURLResponse object represents a URL load response in a /// manner independent of protocol and URL scheme. /// /// /// NSURLResponse encapsulates the metadata associated /// with a URL load. Note that NSURLResponse objects do not contain /// the actual bytes representing the content of a URL. See /// NSURLConnection and NSURLConnectionDelegate for more information /// about receiving the content data for a URL load. /// /// See also [Apple's documentation](https://developer.apple.com/documentation/foundation/nsurlresponse?language=objc) #[unsafe(super(NSObject))] #[derive(Debug, PartialEq, Eq, Hash)] pub struct NSURLResponse; ); unsafe impl Send for NSURLResponse {} unsafe impl Sync for NSURLResponse {} #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSCoding for NSURLResponse {} ); #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSCopying for NSURLResponse {} ); #[cfg(feature = "NSObject")] unsafe impl CopyingHelper for NSURLResponse { type Result = Self; } extern_conformance!( unsafe impl NSObjectProtocol for NSURLResponse {} ); #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSSecureCoding for NSURLResponse {} ); impl NSURLResponse { extern_methods!( #[cfg(all(feature = "NSString", feature = "NSURL"))] /// Initialize an NSURLResponse with the provided values. /// /// Parameter `URL`: the URL /// /// Parameter `MIMEType`: the MIME content type of the response /// /// Parameter `length`: the expected content length of the associated data /// /// Parameter `name`: the name of the text encoding for the associated data, if applicable, else nil /// /// Returns: The initialized NSURLResponse. /// /// This is the designated initializer for NSURLResponse. #[unsafe(method(initWithURL:MIMEType:expectedContentLength:textEncodingName:))] #[unsafe(method_family = init)] pub fn initWithURL_MIMEType_expectedContentLength_textEncodingName( this: Allocated, url: &NSURL, mime_type: Option<&NSString>, length: NSInteger, name: Option<&NSString>, ) -> Retained; #[cfg(feature = "NSURL")] /// Returns the URL of the receiver. /// /// Returns: The URL of the receiver. #[unsafe(method(URL))] #[unsafe(method_family = none)] pub fn URL(&self) -> Option>; #[cfg(feature = "NSString")] /// Returns the MIME type of the receiver. /// /// The MIME type is based on the information provided /// from an origin source. However, that value may be changed or /// corrected by a protocol implementation if it can be determined /// that the origin server or source reported the information /// incorrectly or imprecisely. An attempt to guess the MIME type may /// be made if the origin source did not report any such information. /// /// Returns: The MIME type of the receiver. #[unsafe(method(MIMEType))] #[unsafe(method_family = none)] pub fn MIMEType(&self) -> Option>; /// Returns the expected content length of the receiver. /// /// Some protocol implementations report a content length /// as part of delivering load metadata, but not all protocols /// guarantee the amount of data that will be delivered in actuality. /// Hence, this method returns an expected amount. Clients should use /// this value as an advisory, and should be prepared to deal with /// either more or less data. /// /// Returns: The expected content length of the receiver, or -1 if /// there is no expectation that can be arrived at regarding expected /// content length. #[unsafe(method(expectedContentLength))] #[unsafe(method_family = none)] pub fn expectedContentLength(&self) -> c_longlong; #[cfg(feature = "NSString")] /// Returns the name of the text encoding of the receiver. /// /// This name will be the actual string reported by the /// origin source during the course of performing a protocol-specific /// URL load. Clients can inspect this string and convert it to an /// NSStringEncoding or CFStringEncoding using the methods and /// functions made available in the appropriate framework. /// /// Returns: The name of the text encoding of the receiver, or nil if no /// text encoding was specified. #[unsafe(method(textEncodingName))] #[unsafe(method_family = none)] pub fn textEncodingName(&self) -> Option>; #[cfg(feature = "NSString")] /// Returns a suggested filename if the resource were saved to disk. /// /// The method first checks if the server has specified a filename using the /// content disposition header. If no valid filename is specified using that mechanism, /// this method checks the last path component of the URL. If no valid filename can be /// obtained using the last path component, this method uses the URL's host as the filename. /// If the URL's host can't be converted to a valid filename, the filename "unknown" is used. /// In most cases, this method appends the proper file extension based on the MIME type. /// This method always returns a valid filename. /// /// Returns: A suggested filename to use if saving the resource to disk. #[unsafe(method(suggestedFilename))] #[unsafe(method_family = none)] pub fn suggestedFilename(&self) -> Option>; ); } /// Methods declared on superclass `NSObject`. impl NSURLResponse { extern_methods!( #[unsafe(method(init))] #[unsafe(method_family = init)] pub fn init(this: Allocated) -> Retained; #[unsafe(method(new))] #[unsafe(method_family = new)] pub fn new() -> Retained; ); } impl DefaultRetained for NSURLResponse { #[inline] fn default_retained() -> Retained { Self::new() } } extern_class!( /// An NSHTTPURLResponse object represents a response to an /// HTTP URL load. It is a specialization of NSURLResponse which /// provides conveniences for accessing information specific to HTTP /// protocol responses. /// /// See also [Apple's documentation](https://developer.apple.com/documentation/foundation/nshttpurlresponse?language=objc) #[unsafe(super(NSURLResponse, NSObject))] #[derive(Debug, PartialEq, Eq, Hash)] pub struct NSHTTPURLResponse; ); unsafe impl Send for NSHTTPURLResponse {} unsafe impl Sync for NSHTTPURLResponse {} #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSCoding for NSHTTPURLResponse {} ); #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSCopying for NSHTTPURLResponse {} ); #[cfg(feature = "NSObject")] unsafe impl CopyingHelper for NSHTTPURLResponse { type Result = Self; } extern_conformance!( unsafe impl NSObjectProtocol for NSHTTPURLResponse {} ); #[cfg(feature = "NSObject")] extern_conformance!( unsafe impl NSSecureCoding for NSHTTPURLResponse {} ); impl NSHTTPURLResponse { extern_methods!( #[cfg(all(feature = "NSDictionary", feature = "NSString", feature = "NSURL"))] /// initializer for NSHTTPURLResponse objects. /// /// Parameter `url`: the URL from which the response was generated. /// /// Parameter `statusCode`: an HTTP status code. /// /// Parameter `HTTPVersion`: The version of the HTTP response as represented by the server. This is typically represented as "HTTP/1.1". /// /// Parameter `headerFields`: A dictionary representing the header keys and values of the server response. /// /// Returns: the instance of the object, or NULL if an error occurred during initialization. /// /// This API was introduced in Mac OS X 10.7.2 and iOS 5.0 and is not available prior to those releases. #[unsafe(method(initWithURL:statusCode:HTTPVersion:headerFields:))] #[unsafe(method_family = init)] pub fn initWithURL_statusCode_HTTPVersion_headerFields( this: Allocated, url: &NSURL, status_code: NSInteger, http_version: Option<&NSString>, header_fields: Option<&NSDictionary>, ) -> Option>; /// Returns the HTTP status code of the receiver. /// /// Returns: The HTTP status code of the receiver. #[unsafe(method(statusCode))] #[unsafe(method_family = none)] pub fn statusCode(&self) -> NSInteger; #[cfg(feature = "NSDictionary")] /// Returns a dictionary containing all the HTTP header fields /// of the receiver. /// /// By examining this header dictionary, clients can see /// the "raw" header information which was reported to the protocol /// implementation by the HTTP server. This may be of use to /// sophisticated or special-purpose HTTP clients. /// /// Returns: A dictionary containing all the HTTP header fields of the /// receiver. #[unsafe(method(allHeaderFields))] #[unsafe(method_family = none)] pub fn allHeaderFields(&self) -> Retained; #[cfg(feature = "NSString")] /// Returns the value which corresponds to the given header /// field. Note that, in keeping with the HTTP RFC, HTTP header field /// names are case-insensitive. /// /// Parameter `field`: the header field name to use for the lookup /// (case-insensitive). /// /// Returns: the value associated with the given header field, or nil if /// there is no value associated with the given header field. #[unsafe(method(valueForHTTPHeaderField:))] #[unsafe(method_family = none)] pub fn valueForHTTPHeaderField(&self, field: &NSString) -> Option>; #[cfg(feature = "NSString")] /// Convenience method which returns a localized string /// corresponding to the status code for this response. /// /// Parameter `statusCode`: the status code to use to produce a localized string. /// /// Returns: A localized string corresponding to the given status code. #[unsafe(method(localizedStringForStatusCode:))] #[unsafe(method_family = none)] pub fn localizedStringForStatusCode(status_code: NSInteger) -> Retained; ); } /// Methods declared on superclass `NSURLResponse`. impl NSHTTPURLResponse { extern_methods!( #[cfg(all(feature = "NSString", feature = "NSURL"))] /// Initialize an NSURLResponse with the provided values. /// /// Parameter `URL`: the URL /// /// Parameter `MIMEType`: the MIME content type of the response /// /// Parameter `length`: the expected content length of the associated data /// /// Parameter `name`: the name of the text encoding for the associated data, if applicable, else nil /// /// Returns: The initialized NSURLResponse. /// /// This is the designated initializer for NSURLResponse. #[unsafe(method(initWithURL:MIMEType:expectedContentLength:textEncodingName:))] #[unsafe(method_family = init)] pub fn initWithURL_MIMEType_expectedContentLength_textEncodingName( this: Allocated, url: &NSURL, mime_type: Option<&NSString>, length: NSInteger, name: Option<&NSString>, ) -> Retained; ); } /// Methods declared on superclass `NSObject`. impl NSHTTPURLResponse { extern_methods!( #[unsafe(method(init))] #[unsafe(method_family = init)] pub fn init(this: Allocated) -> Retained; #[unsafe(method(new))] #[unsafe(method_family = new)] pub fn new() -> Retained; ); } impl DefaultRetained for NSHTTPURLResponse { #[inline] fn default_retained() -> Retained { Self::new() } }