use objc2::__framework_prelude::*;
use objc2_app_kit::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct ASPasswordCredentialIdentity;
unsafe impl ClassType for ASPasswordCredentialIdentity {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "ASCredentialIdentity")]
unsafe impl ASCredentialIdentity for ASPasswordCredentialIdentity {}
unsafe impl NSCoding for ASPasswordCredentialIdentity {}
unsafe impl NSCopying for ASPasswordCredentialIdentity {}
unsafe impl NSObjectProtocol for ASPasswordCredentialIdentity {}
unsafe impl NSSecureCoding for ASPasswordCredentialIdentity {}
extern_methods!(
unsafe impl ASPasswordCredentialIdentity {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[cfg(feature = "ASCredentialServiceIdentifier")]
#[method_id(@__retain_semantics Init initWithServiceIdentifier:user:recordIdentifier:)]
pub unsafe fn initWithServiceIdentifier_user_recordIdentifier(
this: Allocated<Self>,
service_identifier: &ASCredentialServiceIdentifier,
user: &NSString,
record_identifier: Option<&NSString>,
) -> Id<Self>;
#[cfg(feature = "ASCredentialServiceIdentifier")]
#[method_id(@__retain_semantics Other identityWithServiceIdentifier:user:recordIdentifier:)]
pub unsafe fn identityWithServiceIdentifier_user_recordIdentifier(
service_identifier: &ASCredentialServiceIdentifier,
user: &NSString,
record_identifier: Option<&NSString>,
) -> Id<Self>;
#[cfg(feature = "ASCredentialServiceIdentifier")]
#[method_id(@__retain_semantics Other serviceIdentifier)]
pub unsafe fn serviceIdentifier(&self) -> Id<ASCredentialServiceIdentifier>;
#[method_id(@__retain_semantics Other user)]
pub unsafe fn user(&self) -> Id<NSString>;
#[method_id(@__retain_semantics Other recordIdentifier)]
pub unsafe fn recordIdentifier(&self) -> Option<Id<NSString>>;
#[method(rank)]
pub unsafe fn rank(&self) -> NSInteger;
#[method(setRank:)]
pub unsafe fn setRank(&self, rank: NSInteger);
}
);
extern_methods!(
unsafe impl ASPasswordCredentialIdentity {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);