use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSAppleEventSendOptions(pub NSUInteger);
bitflags::bitflags! {
impl NSAppleEventSendOptions: NSUInteger {
#[doc(alias = "NSAppleEventSendNoReply")]
const NoReply = 1;
#[doc(alias = "NSAppleEventSendQueueReply")]
const QueueReply = 2;
#[doc(alias = "NSAppleEventSendWaitForReply")]
const WaitForReply = 3;
#[doc(alias = "NSAppleEventSendNeverInteract")]
const NeverInteract = 16;
#[doc(alias = "NSAppleEventSendCanInteract")]
const CanInteract = 32;
#[doc(alias = "NSAppleEventSendAlwaysInteract")]
const AlwaysInteract = 48;
#[doc(alias = "NSAppleEventSendCanSwitchLayer")]
const CanSwitchLayer = 64;
#[doc(alias = "NSAppleEventSendDontRecord")]
const DontRecord = 4096;
#[doc(alias = "NSAppleEventSendDontExecute")]
const DontExecute = 8192;
#[doc(alias = "NSAppleEventSendDontAnnotate")]
const DontAnnotate = 65536;
#[doc(alias = "NSAppleEventSendDefaultOptions")]
const DefaultOptions = 35;
}
}
unsafe impl Encode for NSAppleEventSendOptions {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for NSAppleEventSendOptions {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSAppleEventDescriptor;
);
#[cfg(feature = "NSObject")]
unsafe impl NSCoding for NSAppleEventDescriptor {}
#[cfg(feature = "NSObject")]
unsafe impl NSCopying for NSAppleEventDescriptor {}
#[cfg(feature = "NSObject")]
unsafe impl CopyingHelper for NSAppleEventDescriptor {
type Result = Self;
}
unsafe impl NSObjectProtocol for NSAppleEventDescriptor {}
#[cfg(feature = "NSObject")]
unsafe impl NSSecureCoding for NSAppleEventDescriptor {}
impl NSAppleEventDescriptor {
extern_methods!(
#[unsafe(method(nullDescriptor))]
#[unsafe(method_family = none)]
pub unsafe fn nullDescriptor() -> Retained<NSAppleEventDescriptor>;
#[unsafe(method(descriptorWithBoolean:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptorWithBoolean(boolean: Boolean) -> Retained<NSAppleEventDescriptor>;
#[unsafe(method(descriptorWithEnumCode:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptorWithEnumCode(
enumerator: OSType,
) -> Retained<NSAppleEventDescriptor>;
#[unsafe(method(descriptorWithInt32:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptorWithInt32(signed_int: i32) -> Retained<NSAppleEventDescriptor>;
#[unsafe(method(descriptorWithDouble:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptorWithDouble(
double_value: c_double,
) -> Retained<NSAppleEventDescriptor>;
#[unsafe(method(descriptorWithTypeCode:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptorWithTypeCode(type_code: OSType)
-> Retained<NSAppleEventDescriptor>;
#[cfg(feature = "NSString")]
#[unsafe(method(descriptorWithString:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptorWithString(string: &NSString) -> Retained<NSAppleEventDescriptor>;
#[cfg(feature = "NSDate")]
#[unsafe(method(descriptorWithDate:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptorWithDate(date: &NSDate) -> Retained<NSAppleEventDescriptor>;
#[cfg(feature = "NSURL")]
#[unsafe(method(descriptorWithFileURL:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptorWithFileURL(file_url: &NSURL) -> Retained<NSAppleEventDescriptor>;
#[unsafe(method(listDescriptor))]
#[unsafe(method_family = none)]
pub unsafe fn listDescriptor() -> Retained<NSAppleEventDescriptor>;
#[unsafe(method(recordDescriptor))]
#[unsafe(method_family = none)]
pub unsafe fn recordDescriptor() -> Retained<NSAppleEventDescriptor>;
#[unsafe(method(currentProcessDescriptor))]
#[unsafe(method_family = none)]
pub unsafe fn currentProcessDescriptor() -> Retained<NSAppleEventDescriptor>;
#[cfg(feature = "libc")]
#[unsafe(method(descriptorWithProcessIdentifier:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptorWithProcessIdentifier(
process_identifier: libc::pid_t,
) -> Retained<NSAppleEventDescriptor>;
#[cfg(feature = "NSString")]
#[unsafe(method(descriptorWithBundleIdentifier:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptorWithBundleIdentifier(
bundle_identifier: &NSString,
) -> Retained<NSAppleEventDescriptor>;
#[cfg(feature = "NSURL")]
#[unsafe(method(descriptorWithApplicationURL:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptorWithApplicationURL(
application_url: &NSURL,
) -> Retained<NSAppleEventDescriptor>;
#[unsafe(method(initListDescriptor))]
#[unsafe(method_family = init)]
pub unsafe fn initListDescriptor(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(initRecordDescriptor))]
#[unsafe(method_family = init)]
pub unsafe fn initRecordDescriptor(this: Allocated<Self>) -> Retained<Self>;
#[cfg(feature = "NSData")]
#[unsafe(method(data))]
#[unsafe(method_family = none)]
pub unsafe fn data(&self) -> Retained<NSData>;
#[unsafe(method(booleanValue))]
#[unsafe(method_family = none)]
pub unsafe fn booleanValue(&self) -> Boolean;
#[unsafe(method(enumCodeValue))]
#[unsafe(method_family = none)]
pub unsafe fn enumCodeValue(&self) -> OSType;
#[unsafe(method(int32Value))]
#[unsafe(method_family = none)]
pub unsafe fn int32Value(&self) -> i32;
#[unsafe(method(doubleValue))]
#[unsafe(method_family = none)]
pub unsafe fn doubleValue(&self) -> c_double;
#[unsafe(method(typeCodeValue))]
#[unsafe(method_family = none)]
pub unsafe fn typeCodeValue(&self) -> OSType;
#[cfg(feature = "NSString")]
#[unsafe(method(stringValue))]
#[unsafe(method_family = none)]
pub unsafe fn stringValue(&self) -> Option<Retained<NSString>>;
#[cfg(feature = "NSDate")]
#[unsafe(method(dateValue))]
#[unsafe(method_family = none)]
pub unsafe fn dateValue(&self) -> Option<Retained<NSDate>>;
#[cfg(feature = "NSURL")]
#[unsafe(method(fileURLValue))]
#[unsafe(method_family = none)]
pub unsafe fn fileURLValue(&self) -> Option<Retained<NSURL>>;
#[unsafe(method(isRecordDescriptor))]
#[unsafe(method_family = none)]
pub unsafe fn isRecordDescriptor(&self) -> bool;
#[unsafe(method(numberOfItems))]
#[unsafe(method_family = none)]
pub unsafe fn numberOfItems(&self) -> NSInteger;
#[unsafe(method(insertDescriptor:atIndex:))]
#[unsafe(method_family = none)]
pub unsafe fn insertDescriptor_atIndex(
&self,
descriptor: &NSAppleEventDescriptor,
index: NSInteger,
);
#[unsafe(method(descriptorAtIndex:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptorAtIndex(
&self,
index: NSInteger,
) -> Option<Retained<NSAppleEventDescriptor>>;
#[unsafe(method(removeDescriptorAtIndex:))]
#[unsafe(method_family = none)]
pub unsafe fn removeDescriptorAtIndex(&self, index: NSInteger);
);
}
impl NSAppleEventDescriptor {
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>;
);
}