use core::ffi::*;
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 BGTaskRequest;
);
extern_conformance!(
unsafe impl NSCopying for BGTaskRequest {}
);
unsafe impl CopyingHelper for BGTaskRequest {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for BGTaskRequest {}
);
impl BGTaskRequest {
extern_methods!(
#[unsafe(method(identifier))]
#[unsafe(method_family = none)]
pub unsafe fn identifier(&self) -> Retained<NSString>;
#[unsafe(method(earliestBeginDate))]
#[unsafe(method_family = none)]
pub unsafe fn earliestBeginDate(&self) -> Option<Retained<NSDate>>;
#[unsafe(method(setEarliestBeginDate:))]
#[unsafe(method_family = none)]
pub unsafe fn setEarliestBeginDate(&self, earliest_begin_date: Option<&NSDate>);
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(BGTaskRequest, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct BGAppRefreshTaskRequest;
);
extern_conformance!(
unsafe impl NSCopying for BGAppRefreshTaskRequest {}
);
unsafe impl CopyingHelper for BGAppRefreshTaskRequest {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for BGAppRefreshTaskRequest {}
);
impl BGAppRefreshTaskRequest {
extern_methods!(
#[unsafe(method(initWithIdentifier:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithIdentifier(
this: Allocated<Self>,
identifier: &NSString,
) -> Retained<Self>;
);
}
impl BGAppRefreshTaskRequest {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(BGTaskRequest, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct BGProcessingTaskRequest;
);
extern_conformance!(
unsafe impl NSCopying for BGProcessingTaskRequest {}
);
unsafe impl CopyingHelper for BGProcessingTaskRequest {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for BGProcessingTaskRequest {}
);
impl BGProcessingTaskRequest {
extern_methods!(
#[unsafe(method(initWithIdentifier:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithIdentifier(
this: Allocated<Self>,
identifier: &NSString,
) -> Retained<Self>;
#[unsafe(method(requiresNetworkConnectivity))]
#[unsafe(method_family = none)]
pub unsafe fn requiresNetworkConnectivity(&self) -> bool;
#[unsafe(method(setRequiresNetworkConnectivity:))]
#[unsafe(method_family = none)]
pub unsafe fn setRequiresNetworkConnectivity(&self, requires_network_connectivity: bool);
#[unsafe(method(requiresExternalPower))]
#[unsafe(method_family = none)]
pub unsafe fn requiresExternalPower(&self) -> bool;
#[unsafe(method(setRequiresExternalPower:))]
#[unsafe(method_family = none)]
pub unsafe fn setRequiresExternalPower(&self, requires_external_power: bool);
);
}
impl BGProcessingTaskRequest {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(BGProcessingTaskRequest, BGTaskRequest, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct BGHealthResearchTaskRequest;
);
extern_conformance!(
unsafe impl NSCopying for BGHealthResearchTaskRequest {}
);
unsafe impl CopyingHelper for BGHealthResearchTaskRequest {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for BGHealthResearchTaskRequest {}
);
impl BGHealthResearchTaskRequest {
extern_methods!(
#[unsafe(method(protectionTypeOfRequiredData))]
#[unsafe(method_family = none)]
pub unsafe fn protectionTypeOfRequiredData(&self) -> Retained<NSFileProtectionType>;
#[unsafe(method(setProtectionTypeOfRequiredData:))]
#[unsafe(method_family = none)]
pub unsafe fn setProtectionTypeOfRequiredData(
&self,
protection_type_of_required_data: &NSFileProtectionType,
);
);
}
impl BGHealthResearchTaskRequest {
extern_methods!(
#[unsafe(method(initWithIdentifier:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithIdentifier(
this: Allocated<Self>,
identifier: &NSString,
) -> Retained<Self>;
);
}
impl BGHealthResearchTaskRequest {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct BGContinuedProcessingTaskRequestSubmissionStrategy(pub NSInteger);
impl BGContinuedProcessingTaskRequestSubmissionStrategy {
#[doc(alias = "BGContinuedProcessingTaskRequestSubmissionStrategyFail")]
pub const Fail: Self = Self(0);
#[doc(alias = "BGContinuedProcessingTaskRequestSubmissionStrategyQueue")]
pub const Queue: Self = Self(1);
}
unsafe impl Encode for BGContinuedProcessingTaskRequestSubmissionStrategy {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for BGContinuedProcessingTaskRequestSubmissionStrategy {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct BGContinuedProcessingTaskRequestResources(pub NSInteger);
bitflags::bitflags! {
impl BGContinuedProcessingTaskRequestResources: NSInteger {
#[doc(alias = "BGContinuedProcessingTaskRequestResourcesDefault")]
const Default = 0;
#[doc(alias = "BGContinuedProcessingTaskRequestResourcesGPU")]
const GPU = 1<<0;
}
}
unsafe impl Encode for BGContinuedProcessingTaskRequestResources {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for BGContinuedProcessingTaskRequestResources {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_class!(
#[unsafe(super(BGTaskRequest, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct BGContinuedProcessingTaskRequest;
);
extern_conformance!(
unsafe impl NSCopying for BGContinuedProcessingTaskRequest {}
);
unsafe impl CopyingHelper for BGContinuedProcessingTaskRequest {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for BGContinuedProcessingTaskRequest {}
);
impl BGContinuedProcessingTaskRequest {
extern_methods!(
#[unsafe(method(title))]
#[unsafe(method_family = none)]
pub unsafe fn title(&self) -> Retained<NSString>;
#[unsafe(method(setTitle:))]
#[unsafe(method_family = none)]
pub unsafe fn setTitle(&self, title: &NSString);
#[unsafe(method(subtitle))]
#[unsafe(method_family = none)]
pub unsafe fn subtitle(&self) -> Retained<NSString>;
#[unsafe(method(setSubtitle:))]
#[unsafe(method_family = none)]
pub unsafe fn setSubtitle(&self, subtitle: &NSString);
#[unsafe(method(strategy))]
#[unsafe(method_family = none)]
pub unsafe fn strategy(&self) -> BGContinuedProcessingTaskRequestSubmissionStrategy;
#[unsafe(method(setStrategy:))]
#[unsafe(method_family = none)]
pub unsafe fn setStrategy(
&self,
strategy: BGContinuedProcessingTaskRequestSubmissionStrategy,
);
#[unsafe(method(requiredResources))]
#[unsafe(method_family = none)]
pub unsafe fn requiredResources(&self) -> BGContinuedProcessingTaskRequestResources;
#[unsafe(method(setRequiredResources:))]
#[unsafe(method_family = none)]
pub unsafe fn setRequiredResources(
&self,
required_resources: BGContinuedProcessingTaskRequestResources,
);
#[unsafe(method(initWithIdentifier:title:subtitle:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithIdentifier_title_subtitle(
this: Allocated<Self>,
identifier: &NSString,
title: &NSString,
subtitle: &NSString,
) -> Retained<Self>;
);
}
impl BGContinuedProcessingTaskRequest {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}