use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_protocol!(
pub unsafe trait NSUserActivityRestoring: NSObjectProtocol + IsMainThreadOnly {
#[method(restoreUserActivityState:)]
unsafe fn restoreUserActivityState(&self, user_activity: &NSUserActivity);
}
unsafe impl ProtocolType for dyn NSUserActivityRestoring {}
);
extern_methods!(
#[cfg(feature = "NSResponder")]
unsafe impl NSResponder {
#[method_id(@__retain_semantics Other userActivity)]
pub unsafe fn userActivity(&self) -> Option<Id<NSUserActivity>>;
#[method(setUserActivity:)]
pub unsafe fn setUserActivity(&self, user_activity: Option<&NSUserActivity>);
#[method(updateUserActivityState:)]
pub unsafe fn updateUserActivityState(&self, user_activity: &NSUserActivity);
}
);
#[cfg(feature = "NSResponder")]
unsafe impl NSUserActivityRestoring for NSResponder {}
extern_methods!(
#[cfg(feature = "NSDocument")]
unsafe impl NSDocument {
#[method_id(@__retain_semantics Other userActivity)]
pub unsafe fn userActivity(&self) -> Option<Id<NSUserActivity>>;
#[method(setUserActivity:)]
pub unsafe fn setUserActivity(&self, user_activity: Option<&NSUserActivity>);
#[method(updateUserActivityState:)]
pub unsafe fn updateUserActivityState(&self, activity: &NSUserActivity);
}
);
#[cfg(feature = "NSDocument")]
unsafe impl NSUserActivityRestoring for NSDocument {}
extern "C" {
pub static NSUserActivityDocumentURLKey: &'static NSString;
}