#[repr(C)]pub struct NSURLCredential { /* private fields */ }
NSURLCredential
only.Expand description
This class is an immutable object representing an authentication credential. The actual type of the credential is determined by the constructor called in the categories declared below.
See also Apple’s documentation
Implementations§
Source§impl NSURLCredential
impl NSURLCredential
Sourcepub unsafe fn persistence(&self) -> NSURLCredentialPersistence
pub unsafe fn persistence(&self) -> NSURLCredentialPersistence
Determine whether this credential is or should be stored persistently
Returns: A value indicating whether this credential is stored permanently, per session or not at all.
Source§impl NSURLCredential
Methods declared on superclass NSObject
.
impl NSURLCredential
Methods declared on superclass NSObject
.
Source§impl NSURLCredential
NSInternetPassword.
This category defines the methods available to an NSURLCredential created to represent an internet password credential. These are most commonly used for resources that require a username and password combination.
impl NSURLCredential
NSInternetPassword. This category defines the methods available to an NSURLCredential created to represent an internet password credential. These are most commonly used for resources that require a username and password combination.
Sourcepub unsafe fn initWithUser_password_persistence(
this: Allocated<Self>,
user: &NSString,
password: &NSString,
persistence: NSURLCredentialPersistence,
) -> Retained<Self>
Available on crate feature NSString
only.
pub unsafe fn initWithUser_password_persistence( this: Allocated<Self>, user: &NSString, password: &NSString, persistence: NSURLCredentialPersistence, ) -> Retained<Self>
NSString
only.Initialize a NSURLCredential with a user and password
Parameter user
: the username
Parameter password
: the password
Parameter persistence
: enum that says to store per session, permanently or not at all
Returns: The initialized NSURLCredential
Sourcepub unsafe fn credentialWithUser_password_persistence(
user: &NSString,
password: &NSString,
persistence: NSURLCredentialPersistence,
) -> Retained<NSURLCredential>
Available on crate feature NSString
only.
pub unsafe fn credentialWithUser_password_persistence( user: &NSString, password: &NSString, persistence: NSURLCredentialPersistence, ) -> Retained<NSURLCredential>
NSString
only.Create a new NSURLCredential with a user and password
Parameter user
: the username
Parameter password
: the password
Parameter persistence
: enum that says to store per session, permanently or not at all
Returns: The new autoreleased NSURLCredential
Sourcepub unsafe fn user(&self) -> Option<Retained<NSString>>
Available on crate feature NSString
only.
pub unsafe fn user(&self) -> Option<Retained<NSString>>
NSString
only.Get the username
Returns: The user string
Sourcepub unsafe fn password(&self) -> Option<Retained<NSString>>
Available on crate feature NSString
only.
pub unsafe fn password(&self) -> Option<Retained<NSString>>
NSString
only.Get the password
Returns: The password string
This method might actually attempt to retrieve the password from an external store, possible resulting in prompting, so do not call it unless needed.
Sourcepub unsafe fn hasPassword(&self) -> bool
pub unsafe fn hasPassword(&self) -> bool
Find out if this credential has a password, without trying to get it
Returns: YES if this credential has a password, otherwise NO
If this credential’s password is actually kept in an external store, the password method may return nil even if this method returns YES, since getting the password may fail, or the user may refuse access.
Source§impl NSURLCredential
NSClientCertificate.
This category defines the methods available to an NSURLCredential created to represent a client certificate credential. Client certificates are commonly stored on the users computer in the keychain and must be presented to the server during a handshake.
impl NSURLCredential
NSClientCertificate. This category defines the methods available to an NSURLCredential created to represent a client certificate credential. Client certificates are commonly stored on the users computer in the keychain and must be presented to the server during a handshake.
Sourcepub unsafe fn certificates(&self) -> Retained<NSArray>
Available on crate feature NSArray
only.
pub unsafe fn certificates(&self) -> Retained<NSArray>
NSArray
only.Returns an NSArray of SecCertificateRef objects representing the client certificate for this credential, if this credential was created with an identity and certificate.
Returns: an NSArray of SecCertificateRef or NULL if this is a username/password credential
impl NSURLCredential
NSServerTrust.
Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
pub fn class(&self) -> &'static AnyClass
Dynamically find the class of this object.
§Panics
May panic if the object is invalid (which may be the case for objects
returned from unavailable init
/new
methods).
§Example
Check that an instance of NSObject
has the precise class NSObject
.
use objc2::ClassType;
use objc2::runtime::NSObject;
let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());
Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load
instead.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load
instead.Use Ivar::load
instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T
.
See Ivar::load_ptr
for details surrounding this.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
Attempt to downcast the object to a class of type T
.
This is the reference-variant. Use Retained::downcast
if you want
to convert a retained object to another type.
§Mutable classes
Some classes have immutable and mutable variants, such as NSString
and NSMutableString
.
When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.
So using this method to convert a NSString
to a NSMutableString
,
while not unsound, is generally frowned upon unless you created the
string yourself, or the API explicitly documents the string to be
mutable.
See Apple’s documentation on mutability and on
isKindOfClass:
for more details.
§Generic classes
Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.
You can, however, safely downcast to generic collections where all the
type-parameters are AnyObject
.
§Panics
This works internally by calling isKindOfClass:
. That means that the
object must have the instance method of that name, and an exception
will be thrown (if CoreFoundation is linked) or the process will abort
if that is not the case. In the vast majority of cases, you don’t need
to worry about this, since both root objects NSObject
and
NSProxy
implement this method.
§Examples
Cast an NSString
back and forth from NSObject
.
use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};
let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();
Try (and fail) to cast an NSObject
to an NSString
.
use objc2_foundation::{NSObject, NSString};
let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());
Try to cast to an array of strings.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();
This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.
Downcast when processing each element instead.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
for elem in arr {
if let Some(data) = elem.downcast_ref::<NSString>() {
// handle `data`
}
}
Trait Implementations§
Source§impl AsRef<AnyObject> for NSURLCredential
impl AsRef<AnyObject> for NSURLCredential
Source§impl AsRef<NSObject> for NSURLCredential
impl AsRef<NSObject> for NSURLCredential
Source§impl AsRef<NSURLCredential> for NSURLCredential
impl AsRef<NSURLCredential> for NSURLCredential
Source§impl Borrow<AnyObject> for NSURLCredential
impl Borrow<AnyObject> for NSURLCredential
Source§impl Borrow<NSObject> for NSURLCredential
impl Borrow<NSObject> for NSURLCredential
Source§impl ClassType for NSURLCredential
impl ClassType for NSURLCredential
Source§const NAME: &'static str = "NSURLCredential"
const NAME: &'static str = "NSURLCredential"
Source§type ThreadKind = <<NSURLCredential as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<NSURLCredential as ClassType>::Super as ClassType>::ThreadKind
Source§impl CopyingHelper for NSURLCredential
Available on crate feature NSObject
only.
impl CopyingHelper for NSURLCredential
NSObject
only.Source§type Result = NSURLCredential
type Result = NSURLCredential
Self
if the type has no
immutable counterpart. Read moreSource§impl Debug for NSURLCredential
impl Debug for NSURLCredential
Source§impl Deref for NSURLCredential
impl Deref for NSURLCredential
Source§impl Hash for NSURLCredential
impl Hash for NSURLCredential
Source§impl Message for NSURLCredential
impl Message for NSURLCredential
Source§impl NSCoding for NSURLCredential
impl NSCoding for NSURLCredential
Source§unsafe fn encodeWithCoder(&self, coder: &NSCoder)
unsafe fn encodeWithCoder(&self, coder: &NSCoder)
NSObject
and NSCoder
only.Source§impl NSCopying for NSURLCredential
impl NSCopying for NSURLCredential
Source§impl NSObjectProtocol for NSURLCredential
impl NSObjectProtocol for NSURLCredential
Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass
directly, or cast your objects with AnyObject::downcast_ref