objc2_metric_kit/generated/
MXCPUExceptionDiagnostic.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5use objc2_foundation::*;
6
7use crate::*;
8
9extern_class!(
10    /// An MXDiagnostic subclass that encapsulates CPU exception diagnostic reports.
11    ///
12    /// CPU exceptions occur when your application consumes excessive CPU time in a short period of time.
13    ///
14    /// CPU exceptions can be both fatal and non-fatal to your application.
15    ///
16    /// See also [Apple's documentation](https://developer.apple.com/documentation/metrickit/mxcpuexceptiondiagnostic?language=objc)
17    #[unsafe(super(MXDiagnostic, NSObject))]
18    #[derive(Debug, PartialEq, Eq, Hash)]
19    #[cfg(feature = "MXDiagnostic")]
20    pub struct MXCPUExceptionDiagnostic;
21);
22
23#[cfg(feature = "MXDiagnostic")]
24extern_conformance!(
25    unsafe impl NSCoding for MXCPUExceptionDiagnostic {}
26);
27
28#[cfg(feature = "MXDiagnostic")]
29extern_conformance!(
30    unsafe impl NSObjectProtocol for MXCPUExceptionDiagnostic {}
31);
32
33#[cfg(feature = "MXDiagnostic")]
34extern_conformance!(
35    unsafe impl NSSecureCoding for MXCPUExceptionDiagnostic {}
36);
37
38#[cfg(feature = "MXDiagnostic")]
39impl MXCPUExceptionDiagnostic {
40    extern_methods!(
41        #[cfg(feature = "MXCallStackTree")]
42        /// The application call stack tree associated with the excessive CPU consumption.
43        #[unsafe(method(callStackTree))]
44        #[unsafe(method_family = none)]
45        pub unsafe fn callStackTree(&self) -> Retained<MXCallStackTree>;
46
47        /// Total CPU time consumed in the scope of this CPU exception.
48        ///
49        /// Dimensioned as NSUnitDuration.
50        #[unsafe(method(totalCPUTime))]
51        #[unsafe(method_family = none)]
52        pub unsafe fn totalCPUTime(&self) -> Retained<NSMeasurement<NSUnitDuration>>;
53
54        /// Total time that the application was sampled for during the CPU exception.
55        ///
56        /// Dimensioned as NSUnitDuration.
57        #[unsafe(method(totalSampledTime))]
58        #[unsafe(method_family = none)]
59        pub unsafe fn totalSampledTime(&self) -> Retained<NSMeasurement<NSUnitDuration>>;
60    );
61}
62
63/// Methods declared on superclass `NSObject`.
64#[cfg(feature = "MXDiagnostic")]
65impl MXCPUExceptionDiagnostic {
66    extern_methods!(
67        #[unsafe(method(init))]
68        #[unsafe(method_family = init)]
69        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
70
71        #[unsafe(method(new))]
72        #[unsafe(method_family = new)]
73        pub unsafe fn new() -> Retained<Self>;
74    );
75}