//! This file has been automatically generated by `objc2`'s `header-translator`. //! DO NOT EDIT use core::ffi::*; use core::ptr::NonNull; use objc2::__framework_prelude::*; use crate::*; /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsbackgroundactivityresult?language=objc) // NS_ENUM #[repr(transparent)] #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] pub struct NSBackgroundActivityResult(pub NSInteger); impl NSBackgroundActivityResult { #[doc(alias = "NSBackgroundActivityResultFinished")] pub const Finished: Self = Self(1); #[doc(alias = "NSBackgroundActivityResultDeferred")] pub const Deferred: Self = Self(2); } unsafe impl Encode for NSBackgroundActivityResult { const ENCODING: Encoding = NSInteger::ENCODING; } unsafe impl RefEncode for NSBackgroundActivityResult { const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING); } /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsbackgroundactivitycompletionhandler?language=objc) #[cfg(feature = "block2")] pub type NSBackgroundActivityCompletionHandler = *mut block2::DynBlock; extern_class!( /// [Apple's documentation](https://developer.apple.com/documentation/foundation/nsbackgroundactivityscheduler?language=objc) #[unsafe(super(NSObject))] #[derive(Debug, PartialEq, Eq, Hash)] pub struct NSBackgroundActivityScheduler; ); extern_conformance!( unsafe impl NSObjectProtocol for NSBackgroundActivityScheduler {} ); impl NSBackgroundActivityScheduler { extern_methods!( #[cfg(feature = "NSString")] #[unsafe(method(initWithIdentifier:))] #[unsafe(method_family = init)] pub fn initWithIdentifier(this: Allocated, identifier: &NSString) -> Retained; #[cfg(feature = "NSString")] #[unsafe(method(identifier))] #[unsafe(method_family = none)] pub fn identifier(&self) -> Retained; #[cfg(feature = "NSObjCRuntime")] #[unsafe(method(qualityOfService))] #[unsafe(method_family = none)] pub fn qualityOfService(&self) -> NSQualityOfService; #[cfg(feature = "NSObjCRuntime")] /// Setter for [`qualityOfService`][Self::qualityOfService]. #[unsafe(method(setQualityOfService:))] #[unsafe(method_family = none)] pub fn setQualityOfService(&self, quality_of_service: NSQualityOfService); #[unsafe(method(repeats))] #[unsafe(method_family = none)] pub fn repeats(&self) -> bool; /// Setter for [`repeats`][Self::repeats]. #[unsafe(method(setRepeats:))] #[unsafe(method_family = none)] pub fn setRepeats(&self, repeats: bool); #[cfg(feature = "NSDate")] #[unsafe(method(interval))] #[unsafe(method_family = none)] pub fn interval(&self) -> NSTimeInterval; #[cfg(feature = "NSDate")] /// Setter for [`interval`][Self::interval]. #[unsafe(method(setInterval:))] #[unsafe(method_family = none)] pub fn setInterval(&self, interval: NSTimeInterval); #[cfg(feature = "NSDate")] #[unsafe(method(tolerance))] #[unsafe(method_family = none)] pub fn tolerance(&self) -> NSTimeInterval; #[cfg(feature = "NSDate")] /// Setter for [`tolerance`][Self::tolerance]. #[unsafe(method(setTolerance:))] #[unsafe(method_family = none)] pub fn setTolerance(&self, tolerance: NSTimeInterval); #[cfg(feature = "block2")] /// # Safety /// /// `block` block must be sendable. #[unsafe(method(scheduleWithBlock:))] #[unsafe(method_family = none)] pub unsafe fn scheduleWithBlock( &self, block: &block2::DynBlock, ); #[unsafe(method(invalidate))] #[unsafe(method_family = none)] pub fn invalidate(&self); #[unsafe(method(shouldDefer))] #[unsafe(method_family = none)] pub fn shouldDefer(&self) -> bool; ); } /// Methods declared on superclass `NSObject`. impl NSBackgroundActivityScheduler { extern_methods!( #[unsafe(method(init))] #[unsafe(method_family = init)] pub fn init(this: Allocated) -> Retained; #[unsafe(method(new))] #[unsafe(method_family = new)] pub fn new() -> Retained; ); } impl DefaultRetained for NSBackgroundActivityScheduler { #[inline] fn default_retained() -> Retained { Self::new() } }