use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MXForegroundExitData;
unsafe impl ClassType for MXForegroundExitData {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSCoding for MXForegroundExitData {}
unsafe impl NSObjectProtocol for MXForegroundExitData {}
unsafe impl NSSecureCoding for MXForegroundExitData {}
extern_methods!(
unsafe impl MXForegroundExitData {
#[method(cumulativeNormalAppExitCount)]
pub unsafe fn cumulativeNormalAppExitCount(&self) -> NSUInteger;
#[method(cumulativeMemoryResourceLimitExitCount)]
pub unsafe fn cumulativeMemoryResourceLimitExitCount(&self) -> NSUInteger;
#[method(cumulativeBadAccessExitCount)]
pub unsafe fn cumulativeBadAccessExitCount(&self) -> NSUInteger;
#[method(cumulativeAbnormalExitCount)]
pub unsafe fn cumulativeAbnormalExitCount(&self) -> NSUInteger;
#[method(cumulativeIllegalInstructionExitCount)]
pub unsafe fn cumulativeIllegalInstructionExitCount(&self) -> NSUInteger;
#[method(cumulativeAppWatchdogExitCount)]
pub unsafe fn cumulativeAppWatchdogExitCount(&self) -> NSUInteger;
}
);
extern_methods!(
unsafe impl MXForegroundExitData {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MXBackgroundExitData;
unsafe impl ClassType for MXBackgroundExitData {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSCoding for MXBackgroundExitData {}
unsafe impl NSObjectProtocol for MXBackgroundExitData {}
unsafe impl NSSecureCoding for MXBackgroundExitData {}
extern_methods!(
unsafe impl MXBackgroundExitData {
#[method(cumulativeNormalAppExitCount)]
pub unsafe fn cumulativeNormalAppExitCount(&self) -> NSUInteger;
#[method(cumulativeMemoryResourceLimitExitCount)]
pub unsafe fn cumulativeMemoryResourceLimitExitCount(&self) -> NSUInteger;
#[method(cumulativeCPUResourceLimitExitCount)]
pub unsafe fn cumulativeCPUResourceLimitExitCount(&self) -> NSUInteger;
#[method(cumulativeMemoryPressureExitCount)]
pub unsafe fn cumulativeMemoryPressureExitCount(&self) -> NSUInteger;
#[method(cumulativeBadAccessExitCount)]
pub unsafe fn cumulativeBadAccessExitCount(&self) -> NSUInteger;
#[method(cumulativeAbnormalExitCount)]
pub unsafe fn cumulativeAbnormalExitCount(&self) -> NSUInteger;
#[method(cumulativeIllegalInstructionExitCount)]
pub unsafe fn cumulativeIllegalInstructionExitCount(&self) -> NSUInteger;
#[method(cumulativeAppWatchdogExitCount)]
pub unsafe fn cumulativeAppWatchdogExitCount(&self) -> NSUInteger;
#[method(cumulativeSuspendedWithLockedFileExitCount)]
pub unsafe fn cumulativeSuspendedWithLockedFileExitCount(&self) -> NSUInteger;
#[method(cumulativeBackgroundTaskAssertionTimeoutExitCount)]
pub unsafe fn cumulativeBackgroundTaskAssertionTimeoutExitCount(&self) -> NSUInteger;
}
);
extern_methods!(
unsafe impl MXBackgroundExitData {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "MXMetric")]
pub struct MXAppExitMetric;
#[cfg(feature = "MXMetric")]
unsafe impl ClassType for MXAppExitMetric {
#[inherits(NSObject)]
type Super = MXMetric;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "MXMetric")]
unsafe impl NSCoding for MXAppExitMetric {}
#[cfg(feature = "MXMetric")]
unsafe impl NSObjectProtocol for MXAppExitMetric {}
#[cfg(feature = "MXMetric")]
unsafe impl NSSecureCoding for MXAppExitMetric {}
extern_methods!(
#[cfg(feature = "MXMetric")]
unsafe impl MXAppExitMetric {
#[method_id(@__retain_semantics Other foregroundExitData)]
pub unsafe fn foregroundExitData(&self) -> Id<MXForegroundExitData>;
#[method_id(@__retain_semantics Other backgroundExitData)]
pub unsafe fn backgroundExitData(&self) -> Id<MXBackgroundExitData>;
}
);
extern_methods!(
#[cfg(feature = "MXMetric")]
unsafe impl MXAppExitMetric {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);