#[repr(C)]pub struct ASCredentialIdentityStore { /* private fields */ }
ASCredentialIdentityStore
only.Expand description
Implementations§
Source§impl ASCredentialIdentityStore
impl ASCredentialIdentityStore
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>
Sourcepub unsafe fn getCredentialIdentityStoreStateWithCompletion(
&self,
completion: &DynBlock<dyn Fn(NonNull<ASCredentialIdentityStoreState>)>,
)
Available on crate features ASCredentialIdentityStoreState
and block2
only.
pub unsafe fn getCredentialIdentityStoreStateWithCompletion( &self, completion: &DynBlock<dyn Fn(NonNull<ASCredentialIdentityStoreState>)>, )
ASCredentialIdentityStoreState
and block2
only.Get the state of the credential identity store.
Parameter completion
: completion handler to be called with the current state of the store.
Call this method to find out the current state of the store before attempting to call other store methods. Use the provided ASCredentialIdentityStoreState to find out if the store is enabled and whether it supports incremental updates.
Sourcepub unsafe fn getCredentialIdentitiesForService_credentialIdentityTypes_completionHandler(
&self,
service_identifier: Option<&ASCredentialServiceIdentifier>,
credential_identity_types: ASCredentialIdentityTypes,
completion_handler: &DynBlock<dyn Fn(NonNull<NSArray<ProtocolObject<dyn ASCredentialIdentity>>>)>,
)
Available on crate features ASCredentialIdentity
and ASCredentialServiceIdentifier
and block2
only.
pub unsafe fn getCredentialIdentitiesForService_credentialIdentityTypes_completionHandler( &self, service_identifier: Option<&ASCredentialServiceIdentifier>, credential_identity_types: ASCredentialIdentityTypes, completion_handler: &DynBlock<dyn Fn(NonNull<NSArray<ProtocolObject<dyn ASCredentialIdentity>>>)>, )
ASCredentialIdentity
and ASCredentialServiceIdentifier
and block2
only.List the currently saved credential identities.
Parameter serviceIdentifier
: Specify a service identifier to get only credential identities for that service.
Pass nil to get credential identities for all services.
Parameter credentialIdentityTypes
: Specify one or more types to get only credential identities of those types.
Pass ASCredentialIdentityTypesAll to get credential identities of all types.
Call this method to get a list of all credential identities saved in the store for your extension.
Sourcepub unsafe fn saveCredentialIdentities_completion(
&self,
credential_identities: &NSArray<ASPasswordCredentialIdentity>,
completion: Option<&DynBlock<dyn Fn(Bool, *mut NSError)>>,
)
👎DeprecatedAvailable on crate features ASPasswordCredentialIdentity
and block2
only.
pub unsafe fn saveCredentialIdentities_completion( &self, credential_identities: &NSArray<ASPasswordCredentialIdentity>, completion: Option<&DynBlock<dyn Fn(Bool, *mut NSError)>>, )
ASPasswordCredentialIdentity
and block2
only.Save the given credential identities to the store.
Parameter credentialIdentities
: array of ASPasswordCredentialIdentity objects to save to the store.
Parameter completion
: optional completion handler to be called after adding the credential identities.
If the operation fails, an error with domain ASCredentialIdentityStoreErrorDomain will be provided
and none of the objects in credentialIdentities will be saved to the store.
If the store supports incremental updates, call this method to add new credential identities since the last time the store was updated. Otherwise, call this method to pass all credential identities. If some credential identities in credentialIdentities already exist in the store, they will be replaced by those from credentialIdentities.
Sourcepub unsafe fn saveCredentialIdentityEntries_completion(
&self,
credential_identities: &NSArray<ProtocolObject<dyn ASCredentialIdentity>>,
completion: Option<&DynBlock<dyn Fn(Bool, *mut NSError)>>,
)
Available on crate features ASCredentialIdentity
and block2
only.
pub unsafe fn saveCredentialIdentityEntries_completion( &self, credential_identities: &NSArray<ProtocolObject<dyn ASCredentialIdentity>>, completion: Option<&DynBlock<dyn Fn(Bool, *mut NSError)>>, )
ASCredentialIdentity
and block2
only.Save the given credential identities to the store.
Parameter credentialIdentities
: array of ASCredentialIdentity objects to save to the store.
Parameter completion
: optional completion handler to be called after adding the credential identities.
If the operation fails, an error with domain ASCredentialIdentityStoreErrorDomain will be provided
and none of the objects in credentialIdentities will be saved to the store.
If the store supports incremental updates, call this method to add new credential identities since the last time the store was updated. Otherwise, call this method to pass all credential identities. If some credential identities in credentialIdentities already exist in the store, they will be replaced by those from credentialIdentities.
Sourcepub unsafe fn removeCredentialIdentities_completion(
&self,
credential_identities: &NSArray<ASPasswordCredentialIdentity>,
completion: Option<&DynBlock<dyn Fn(Bool, *mut NSError)>>,
)
👎DeprecatedAvailable on crate features ASPasswordCredentialIdentity
and block2
only.
pub unsafe fn removeCredentialIdentities_completion( &self, credential_identities: &NSArray<ASPasswordCredentialIdentity>, completion: Option<&DynBlock<dyn Fn(Bool, *mut NSError)>>, )
ASPasswordCredentialIdentity
and block2
only.Remove the given credential identities from the store.
Parameter credentialIdentities
: array of ASPasswordCredentialIdentity objects to remove from the store.
Parameter completion
: optional completion handler to be called after removing the credential identities.
If the operation fails, an error with domain ASCredentialIdentityStoreErrorDomain will be provided
and none of the objects in credentialIdentities will be removed from the store.
Use this method only if the store supports incremental updates to remove previously added credentials to the store.
Sourcepub unsafe fn removeCredentialIdentityEntries_completion(
&self,
credential_identities: &NSArray<ProtocolObject<dyn ASCredentialIdentity>>,
completion: Option<&DynBlock<dyn Fn(Bool, *mut NSError)>>,
)
Available on crate features ASCredentialIdentity
and block2
only.
pub unsafe fn removeCredentialIdentityEntries_completion( &self, credential_identities: &NSArray<ProtocolObject<dyn ASCredentialIdentity>>, completion: Option<&DynBlock<dyn Fn(Bool, *mut NSError)>>, )
ASCredentialIdentity
and block2
only.Remove the given credential identities from the store.
Parameter credentialIdentities
: array of ASCredentialIdentity objects to remove from the store.
Parameter completion
: optional completion handler to be called after removing the credential identities.
If the operation fails, an error with domain ASCredentialIdentityStoreErrorDomain will be provided
and none of the objects in credentialIdentities will be removed from the store.
Use this method only if the store supports incremental updates to remove previously added credentials to the store.
Sourcepub unsafe fn removeAllCredentialIdentitiesWithCompletion(
&self,
completion: Option<&DynBlock<dyn Fn(Bool, *mut NSError)>>,
)
Available on crate feature block2
only.
pub unsafe fn removeAllCredentialIdentitiesWithCompletion( &self, completion: Option<&DynBlock<dyn Fn(Bool, *mut NSError)>>, )
block2
only.Remove all existing credential identities from the store.
Parameter completion
: optional completion handler to be called after removing all existing credential identities.
If the operation fails, an error with domain ASCredentialIdentityStoreErrorDomain will be provided and none of
the existing credential identities will be removed from the store.
Sourcepub unsafe fn replaceCredentialIdentitiesWithIdentities_completion(
&self,
new_credential_identities: &NSArray<ASPasswordCredentialIdentity>,
completion: Option<&DynBlock<dyn Fn(Bool, *mut NSError)>>,
)
👎DeprecatedAvailable on crate features ASPasswordCredentialIdentity
and block2
only.
pub unsafe fn replaceCredentialIdentitiesWithIdentities_completion( &self, new_credential_identities: &NSArray<ASPasswordCredentialIdentity>, completion: Option<&DynBlock<dyn Fn(Bool, *mut NSError)>>, )
ASPasswordCredentialIdentity
and block2
only.Replace existing credential identities with new credential identities.
Parameter newCredentialIdentities
: array of new credential identity objects to replace the old ones.
Parameter completion
: an optional completion block to be called after the operation is finished.
This method will delete all existing credential identities that are persisted in the store and replace them with the provided array of credential identities. If the operation fails, an error with domain ASCredentialIdentityStoreErrorDomain will be provided and none of the new credential identities will be saved.
Sourcepub unsafe fn replaceCredentialIdentityEntries_completion(
&self,
new_credential_identities: &NSArray<ProtocolObject<dyn ASCredentialIdentity>>,
completion: Option<&DynBlock<dyn Fn(Bool, *mut NSError)>>,
)
Available on crate features ASCredentialIdentity
and block2
only.
pub unsafe fn replaceCredentialIdentityEntries_completion( &self, new_credential_identities: &NSArray<ProtocolObject<dyn ASCredentialIdentity>>, completion: Option<&DynBlock<dyn Fn(Bool, *mut NSError)>>, )
ASCredentialIdentity
and block2
only.Replace existing credential identities with new credential identities.
Parameter newCredentialIdentities
: array of new credential identity objects to replace the old ones.
Parameter completion
: an optional completion block to be called after the operation is finished.
This method will delete all existing credential identities that are persisted in the store and replace them with the provided array of credential identities. If the operation fails, an error with domain ASCredentialIdentityStoreErrorDomain will be provided and none of the new credential identities will be saved.
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 ASCredentialIdentityStore
impl AsRef<AnyObject> for ASCredentialIdentityStore
Source§impl AsRef<NSObject> for ASCredentialIdentityStore
impl AsRef<NSObject> for ASCredentialIdentityStore
Source§impl Borrow<AnyObject> for ASCredentialIdentityStore
impl Borrow<AnyObject> for ASCredentialIdentityStore
Source§impl Borrow<NSObject> for ASCredentialIdentityStore
impl Borrow<NSObject> for ASCredentialIdentityStore
Source§impl ClassType for ASCredentialIdentityStore
impl ClassType for ASCredentialIdentityStore
Source§const NAME: &'static str = "ASCredentialIdentityStore"
const NAME: &'static str = "ASCredentialIdentityStore"
Source§type ThreadKind = <<ASCredentialIdentityStore as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<ASCredentialIdentityStore as ClassType>::Super as ClassType>::ThreadKind
Source§impl Debug for ASCredentialIdentityStore
impl Debug for ASCredentialIdentityStore
Source§impl Deref for ASCredentialIdentityStore
impl Deref for ASCredentialIdentityStore
Source§impl Hash for ASCredentialIdentityStore
impl Hash for ASCredentialIdentityStore
Source§impl Message for ASCredentialIdentityStore
impl Message for ASCredentialIdentityStore
Source§impl NSObjectProtocol for ASCredentialIdentityStore
impl NSObjectProtocol for ASCredentialIdentityStore
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