use objc::{msg_send, sel, sel_impl};
use crate::{object,
foundation::NSString,
objective_c_runtime::{
macros::{interface_impl},
traits::{FromId, PNSObject},
},
};
object! {
unsafe pub struct BGTask;
}
#[interface_impl(NSObject)]
impl BGTask {
#[property]
pub fn identifier(&self) -> NSString {
unsafe { NSString::from_id(msg_send![self.m_self(), identifier]) }
}
#[property]
pub fn expiration_handler(&self) {
unsafe { msg_send![self.m_self(), expirationHandler] }
}
#[method]
pub fn set_task_completed_with_success(&mut self, success: bool) {
unsafe { msg_send![self.m_self(), setTaskCompletedWithSuccess: success] }
}
}
impl Default for BGTask {
fn default() -> Self {
Self::m_new()
}
}