use crate::common::*;
use crate::Foundation::*;
use crate::MetricKit::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "MetricKit_MXDiagnosticPayload")]
pub struct MXDiagnosticPayload;
#[cfg(feature = "MetricKit_MXDiagnosticPayload")]
unsafe impl ClassType for MXDiagnosticPayload {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "MetricKit_MXDiagnosticPayload")]
unsafe impl NSCoding for MXDiagnosticPayload {}
#[cfg(feature = "MetricKit_MXDiagnosticPayload")]
unsafe impl NSObjectProtocol for MXDiagnosticPayload {}
#[cfg(feature = "MetricKit_MXDiagnosticPayload")]
unsafe impl NSSecureCoding for MXDiagnosticPayload {}
extern_methods!(
#[cfg(feature = "MetricKit_MXDiagnosticPayload")]
unsafe impl MXDiagnosticPayload {
#[cfg(all(
feature = "Foundation_NSArray",
feature = "MetricKit_MXCPUExceptionDiagnostic"
))]
#[method_id(@__retain_semantics Other cpuExceptionDiagnostics)]
pub unsafe fn cpuExceptionDiagnostics(
&self,
) -> Option<Id<NSArray<MXCPUExceptionDiagnostic>>>;
#[cfg(all(
feature = "Foundation_NSArray",
feature = "MetricKit_MXDiskWriteExceptionDiagnostic"
))]
#[method_id(@__retain_semantics Other diskWriteExceptionDiagnostics)]
pub unsafe fn diskWriteExceptionDiagnostics(
&self,
) -> Option<Id<NSArray<MXDiskWriteExceptionDiagnostic>>>;
#[cfg(all(feature = "Foundation_NSArray", feature = "MetricKit_MXHangDiagnostic"))]
#[method_id(@__retain_semantics Other hangDiagnostics)]
pub unsafe fn hangDiagnostics(&self) -> Option<Id<NSArray<MXHangDiagnostic>>>;
#[cfg(all(
feature = "Foundation_NSArray",
feature = "MetricKit_MXAppLaunchDiagnostic"
))]
#[method_id(@__retain_semantics Other appLaunchDiagnostics)]
pub unsafe fn appLaunchDiagnostics(&self) -> Option<Id<NSArray<MXAppLaunchDiagnostic>>>;
#[cfg(all(
feature = "Foundation_NSArray",
feature = "MetricKit_MXCrashDiagnostic"
))]
#[method_id(@__retain_semantics Other crashDiagnostics)]
pub unsafe fn crashDiagnostics(&self) -> Option<Id<NSArray<MXCrashDiagnostic>>>;
#[cfg(feature = "Foundation_NSDate")]
#[method_id(@__retain_semantics Other timeStampBegin)]
pub unsafe fn timeStampBegin(&self) -> Id<NSDate>;
#[cfg(feature = "Foundation_NSDate")]
#[method_id(@__retain_semantics Other timeStampEnd)]
pub unsafe fn timeStampEnd(&self) -> Id<NSDate>;
#[cfg(feature = "Foundation_NSData")]
#[method_id(@__retain_semantics Other JSONRepresentation)]
pub unsafe fn JSONRepresentation(&self) -> Id<NSData>;
#[cfg(feature = "Foundation_NSDictionary")]
#[method_id(@__retain_semantics Other dictionaryRepresentation)]
pub unsafe fn dictionaryRepresentation(&self) -> Id<NSDictionary>;
}
);
extern_methods!(
#[cfg(feature = "MetricKit_MXDiagnosticPayload")]
unsafe impl MXDiagnosticPayload {
#[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>;
}
);