1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
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!(
    /// Methods declared on superclass `NSObject`
    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!(
    /// Methods declared on superclass `NSObject`
    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!(
    /// Methods declared on superclass `NSObject`
    #[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>;
    }
);