use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct UNNotificationAttachment;
);
extern_conformance!(
unsafe impl NSCoding for UNNotificationAttachment {}
);
extern_conformance!(
unsafe impl NSCopying for UNNotificationAttachment {}
);
unsafe impl CopyingHelper for UNNotificationAttachment {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for UNNotificationAttachment {}
);
extern_conformance!(
unsafe impl NSSecureCoding for UNNotificationAttachment {}
);
impl UNNotificationAttachment {
extern_methods!(
#[unsafe(method(identifier))]
#[unsafe(method_family = none)]
pub fn identifier(&self) -> Retained<NSString>;
#[unsafe(method(URL))]
#[unsafe(method_family = none)]
pub fn URL(&self) -> Retained<NSURL>;
#[unsafe(method(type))]
#[unsafe(method_family = none)]
pub fn r#type(&self) -> Retained<NSString>;
#[unsafe(method(attachmentWithIdentifier:URL:options:error:_))]
#[unsafe(method_family = none)]
pub unsafe fn attachmentWithIdentifier_URL_options_error(
identifier: &NSString,
url: &NSURL,
options: Option<&NSDictionary>,
) -> Result<Retained<Self>, Retained<NSError>>;
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
);
}
impl UNNotificationAttachment {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern "C" {
pub static UNNotificationAttachmentOptionsTypeHintKey: &'static NSString;
}
extern "C" {
pub static UNNotificationAttachmentOptionsThumbnailHiddenKey: &'static NSString;
}
extern "C" {
pub static UNNotificationAttachmentOptionsThumbnailClippingRectKey: &'static NSString;
}
extern "C" {
pub static UNNotificationAttachmentOptionsThumbnailTimeKey: &'static NSString;
}