use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
#[deprecated = "Use UserNotifications Framework's UNAuthorizationOptions"]
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct UIUserNotificationType(pub NSUInteger);
bitflags::bitflags! {
impl UIUserNotificationType: NSUInteger {
#[doc(alias = "UIUserNotificationTypeNone")]
#[deprecated = "Use UserNotifications Framework's UNAuthorizationOptions"]
const None = 0;
#[doc(alias = "UIUserNotificationTypeBadge")]
#[deprecated = "Use UserNotifications Framework's UNAuthorizationOptions"]
const Badge = 1<<0;
#[doc(alias = "UIUserNotificationTypeSound")]
#[deprecated = "Use UserNotifications Framework's UNAuthorizationOptions"]
const Sound = 1<<1;
#[doc(alias = "UIUserNotificationTypeAlert")]
#[deprecated = "Use UserNotifications Framework's UNAuthorizationOptions"]
const Alert = 1<<2;
}
}
unsafe impl Encode for UIUserNotificationType {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for UIUserNotificationType {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[deprecated = "Use UserNotifications Framework's UNNotificationAction or UNTextInputNotificationAction"]
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct UIUserNotificationActionBehavior(pub NSUInteger);
impl UIUserNotificationActionBehavior {
#[doc(alias = "UIUserNotificationActionBehaviorDefault")]
#[deprecated = "Use UserNotifications Framework's UNNotificationAction or UNTextInputNotificationAction"]
pub const Default: Self = Self(0);
#[doc(alias = "UIUserNotificationActionBehaviorTextInput")]
#[deprecated = "Use UserNotifications Framework's UNNotificationAction or UNTextInputNotificationAction"]
pub const TextInput: Self = Self(1);
}
unsafe impl Encode for UIUserNotificationActionBehavior {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for UIUserNotificationActionBehavior {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[deprecated = "Use UserNotifications Framework's UNNotificationActionOptions"]
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct UIUserNotificationActivationMode(pub NSUInteger);
impl UIUserNotificationActivationMode {
#[doc(alias = "UIUserNotificationActivationModeForeground")]
#[deprecated = "Use UserNotifications Framework's UNNotificationActionOptions"]
pub const Foreground: Self = Self(0);
#[doc(alias = "UIUserNotificationActivationModeBackground")]
#[deprecated = "Use UserNotifications Framework's UNNotificationActionOptions"]
pub const Background: Self = Self(1);
}
unsafe impl Encode for UIUserNotificationActivationMode {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for UIUserNotificationActivationMode {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[deprecated = "Use UserNotifications Framework's -[UNNotificationCategory actions] or -[UNNotificationCategory minimalActions]"]
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct UIUserNotificationActionContext(pub NSUInteger);
impl UIUserNotificationActionContext {
#[doc(alias = "UIUserNotificationActionContextDefault")]
#[deprecated = "Use UserNotifications Framework's -[UNNotificationCategory actions] or -[UNNotificationCategory minimalActions]"]
pub const Default: Self = Self(0);
#[doc(alias = "UIUserNotificationActionContextMinimal")]
#[deprecated = "Use UserNotifications Framework's -[UNNotificationCategory actions] or -[UNNotificationCategory minimalActions]"]
pub const Minimal: Self = Self(1);
}
unsafe impl Encode for UIUserNotificationActionContext {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for UIUserNotificationActionContext {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern "C" {
#[deprecated = "Use UserNotifications Framework's -[UNTextInputNotificationAction textInputButtonTitle]"]
pub static UIUserNotificationTextInputActionButtonTitleKey: &'static NSString;
}
extern "C" {
#[deprecated = "Use UserNotifications Framework's -[UNTextInputNotificationResponse userText]"]
pub static UIUserNotificationActionResponseTypedTextKey: &'static NSString;
}
extern_class!(
#[unsafe(super(NSObject))]
#[thread_kind = MainThreadOnly]
#[derive(Debug, PartialEq, Eq, Hash)]
#[deprecated = "Use UserNotifications Framework's UNNotificationSettings"]
pub struct UIUserNotificationSettings;
);
extern_conformance!(
unsafe impl NSObjectProtocol for UIUserNotificationSettings {}
);
impl UIUserNotificationSettings {
extern_methods!(
#[deprecated = "Use UserNotifications Framework's UNNotificationSettings"]
#[unsafe(method(settingsForTypes:categories:))]
#[unsafe(method_family = none)]
pub fn settingsForTypes_categories(
types: UIUserNotificationType,
categories: Option<&NSSet<UIUserNotificationCategory>>,
mtm: MainThreadMarker,
) -> Retained<Self>;
#[deprecated = "Use UserNotifications Framework's UNNotificationSettings"]
#[unsafe(method(types))]
#[unsafe(method_family = none)]
pub fn types(&self) -> UIUserNotificationType;
#[deprecated = "Use UserNotifications Framework's UNNotificationSettings"]
#[unsafe(method(categories))]
#[unsafe(method_family = none)]
pub fn categories(&self) -> Option<Retained<NSSet<UIUserNotificationCategory>>>;
);
}
impl UIUserNotificationSettings {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(NSObject))]
#[thread_kind = MainThreadOnly]
#[derive(Debug, PartialEq, Eq, Hash)]
#[deprecated = "Use UserNotifications Framework's UNNotificationCategory"]
pub struct UIUserNotificationCategory;
);
extern_conformance!(
unsafe impl NSCoding for UIUserNotificationCategory {}
);
extern_conformance!(
unsafe impl NSCopying for UIUserNotificationCategory {}
);
unsafe impl CopyingHelper for UIUserNotificationCategory {
type Result = Self;
}
extern_conformance!(
unsafe impl NSMutableCopying for UIUserNotificationCategory {}
);
unsafe impl MutableCopyingHelper for UIUserNotificationCategory {
type Result = UIMutableUserNotificationCategory;
}
extern_conformance!(
unsafe impl NSObjectProtocol for UIUserNotificationCategory {}
);
extern_conformance!(
unsafe impl NSSecureCoding for UIUserNotificationCategory {}
);
impl UIUserNotificationCategory {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(initWithCoder:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
#[unsafe(method(identifier))]
#[unsafe(method_family = none)]
pub fn identifier(&self) -> Option<Retained<NSString>>;
#[unsafe(method(actionsForContext:))]
#[unsafe(method_family = none)]
pub fn actionsForContext(
&self,
context: UIUserNotificationActionContext,
) -> Option<Retained<NSArray<UIUserNotificationAction>>>;
);
}
impl UIUserNotificationCategory {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(UIUserNotificationCategory, NSObject))]
#[thread_kind = MainThreadOnly]
#[derive(Debug, PartialEq, Eq, Hash)]
#[deprecated = "Use UserNotifications Framework's UNNotificationCategory"]
pub struct UIMutableUserNotificationCategory;
);
extern_conformance!(
unsafe impl NSCoding for UIMutableUserNotificationCategory {}
);
extern_conformance!(
unsafe impl NSCopying for UIMutableUserNotificationCategory {}
);
unsafe impl CopyingHelper for UIMutableUserNotificationCategory {
type Result = UIUserNotificationCategory;
}
extern_conformance!(
unsafe impl NSMutableCopying for UIMutableUserNotificationCategory {}
);
unsafe impl MutableCopyingHelper for UIMutableUserNotificationCategory {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for UIMutableUserNotificationCategory {}
);
extern_conformance!(
unsafe impl NSSecureCoding for UIMutableUserNotificationCategory {}
);
impl UIMutableUserNotificationCategory {
extern_methods!(
#[deprecated = "Use UserNotifications Framework's UNNotificationCategory"]
#[unsafe(method(identifier))]
#[unsafe(method_family = none)]
pub fn identifier(&self) -> Option<Retained<NSString>>;
#[deprecated = "Use UserNotifications Framework's UNNotificationCategory"]
#[unsafe(method(setIdentifier:))]
#[unsafe(method_family = none)]
pub fn setIdentifier(&self, identifier: Option<&NSString>);
#[deprecated = "Use UserNotifications Framework's UNNotificationCategory"]
#[unsafe(method(setActions:forContext:))]
#[unsafe(method_family = none)]
pub fn setActions_forContext(
&self,
actions: Option<&NSArray<UIUserNotificationAction>>,
context: UIUserNotificationActionContext,
);
);
}
impl UIMutableUserNotificationCategory {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(initWithCoder:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
);
}
impl UIMutableUserNotificationCategory {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(NSObject))]
#[thread_kind = MainThreadOnly]
#[derive(Debug, PartialEq, Eq, Hash)]
#[deprecated = "Use UserNotifications Framework's UNNotificationAction"]
pub struct UIUserNotificationAction;
);
extern_conformance!(
unsafe impl NSCoding for UIUserNotificationAction {}
);
extern_conformance!(
unsafe impl NSCopying for UIUserNotificationAction {}
);
unsafe impl CopyingHelper for UIUserNotificationAction {
type Result = Self;
}
extern_conformance!(
unsafe impl NSMutableCopying for UIUserNotificationAction {}
);
unsafe impl MutableCopyingHelper for UIUserNotificationAction {
type Result = UIMutableUserNotificationAction;
}
extern_conformance!(
unsafe impl NSObjectProtocol for UIUserNotificationAction {}
);
extern_conformance!(
unsafe impl NSSecureCoding for UIUserNotificationAction {}
);
impl UIUserNotificationAction {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(initWithCoder:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
#[unsafe(method(identifier))]
#[unsafe(method_family = none)]
pub fn identifier(&self) -> Option<Retained<NSString>>;
#[unsafe(method(title))]
#[unsafe(method_family = none)]
pub fn title(&self) -> Option<Retained<NSString>>;
#[unsafe(method(behavior))]
#[unsafe(method_family = none)]
pub fn behavior(&self) -> UIUserNotificationActionBehavior;
#[unsafe(method(parameters))]
#[unsafe(method_family = none)]
pub fn parameters(&self) -> Retained<NSDictionary>;
#[unsafe(method(activationMode))]
#[unsafe(method_family = none)]
pub fn activationMode(&self) -> UIUserNotificationActivationMode;
#[unsafe(method(isAuthenticationRequired))]
#[unsafe(method_family = none)]
pub fn isAuthenticationRequired(&self) -> bool;
#[unsafe(method(isDestructive))]
#[unsafe(method_family = none)]
pub fn isDestructive(&self) -> bool;
);
}
impl UIUserNotificationAction {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(UIUserNotificationAction, NSObject))]
#[thread_kind = MainThreadOnly]
#[derive(Debug, PartialEq, Eq, Hash)]
#[deprecated = "Use UserNotifications Framework's UNNotificationAction"]
pub struct UIMutableUserNotificationAction;
);
extern_conformance!(
unsafe impl NSCoding for UIMutableUserNotificationAction {}
);
extern_conformance!(
unsafe impl NSCopying for UIMutableUserNotificationAction {}
);
unsafe impl CopyingHelper for UIMutableUserNotificationAction {
type Result = UIUserNotificationAction;
}
extern_conformance!(
unsafe impl NSMutableCopying for UIMutableUserNotificationAction {}
);
unsafe impl MutableCopyingHelper for UIMutableUserNotificationAction {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for UIMutableUserNotificationAction {}
);
extern_conformance!(
unsafe impl NSSecureCoding for UIMutableUserNotificationAction {}
);
impl UIMutableUserNotificationAction {
extern_methods!(
#[deprecated = "Use UserNotifications Framework's UNNotificationAction"]
#[unsafe(method(identifier))]
#[unsafe(method_family = none)]
pub fn identifier(&self) -> Option<Retained<NSString>>;
#[deprecated = "Use UserNotifications Framework's UNNotificationAction"]
#[unsafe(method(setIdentifier:))]
#[unsafe(method_family = none)]
pub fn setIdentifier(&self, identifier: Option<&NSString>);
#[deprecated = "Use UserNotifications Framework's UNNotificationAction"]
#[unsafe(method(title))]
#[unsafe(method_family = none)]
pub fn title(&self) -> Option<Retained<NSString>>;
#[deprecated = "Use UserNotifications Framework's UNNotificationAction"]
#[unsafe(method(setTitle:))]
#[unsafe(method_family = none)]
pub fn setTitle(&self, title: Option<&NSString>);
#[unsafe(method(behavior))]
#[unsafe(method_family = none)]
pub fn behavior(&self) -> UIUserNotificationActionBehavior;
#[unsafe(method(setBehavior:))]
#[unsafe(method_family = none)]
pub fn setBehavior(&self, behavior: UIUserNotificationActionBehavior);
#[unsafe(method(parameters))]
#[unsafe(method_family = none)]
pub fn parameters(&self) -> Retained<NSDictionary>;
#[unsafe(method(setParameters:))]
#[unsafe(method_family = none)]
pub unsafe fn setParameters(&self, parameters: &NSDictionary);
#[deprecated = "Use UserNotifications Framework's UNNotificationAction"]
#[unsafe(method(activationMode))]
#[unsafe(method_family = none)]
pub fn activationMode(&self) -> UIUserNotificationActivationMode;
#[deprecated = "Use UserNotifications Framework's UNNotificationAction"]
#[unsafe(method(setActivationMode:))]
#[unsafe(method_family = none)]
pub fn setActivationMode(&self, activation_mode: UIUserNotificationActivationMode);
#[deprecated = "Use UserNotifications Framework's UNNotificationAction"]
#[unsafe(method(isAuthenticationRequired))]
#[unsafe(method_family = none)]
pub fn isAuthenticationRequired(&self) -> bool;
#[deprecated = "Use UserNotifications Framework's UNNotificationAction"]
#[unsafe(method(setAuthenticationRequired:))]
#[unsafe(method_family = none)]
pub fn setAuthenticationRequired(&self, authentication_required: bool);
#[deprecated = "Use UserNotifications Framework's UNNotificationAction"]
#[unsafe(method(isDestructive))]
#[unsafe(method_family = none)]
pub fn isDestructive(&self) -> bool;
#[deprecated = "Use UserNotifications Framework's UNNotificationAction"]
#[unsafe(method(setDestructive:))]
#[unsafe(method_family = none)]
pub fn setDestructive(&self, destructive: bool);
);
}
impl UIMutableUserNotificationAction {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(initWithCoder:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
);
}
impl UIMutableUserNotificationAction {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
);
}