objc2_metric_kit/generated/
MXMetricPayload.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    /// A wrapper class which contains a metric payload and associated properties of that payload.
11    ///
12    /// MXMetricPayload encapsulates currently supported metric types that can be vended by MetricKit. MXMetric subclasses on MXMetricPayload are nullable. If an MXMetric subclass is nil, it indicates that the data is not available for this payload.
13    ///
14    /// MXMetricPayload exposes a convenience function, JSONRepresentation, to convert the contents of the payload to a human readable JSON. This should be used in conjunction with other APIs that accept NSData.
15    ///
16    /// An MXMetricPayload contains data that covers a 24 hour period of application usage. The properties timeStampBegin and timeStampEnd should be used to determine which time range the payload covers.
17    ///
18    /// It is possible for an MXMetricPayload to cover regions of time where an application was updated, and thus had multiple different app version strings. The property latestApplicationVersion will always reflect the latest appVersion at the time the metric payload was created. Use includesMultipleApplicationVersions to determine if an application changed versions during the time range the payload covers.
19    ///
20    /// See also [Apple's documentation](https://developer.apple.com/documentation/metrickit/mxmetricpayload?language=objc)
21    #[unsafe(super(NSObject))]
22    #[derive(Debug, PartialEq, Eq, Hash)]
23    pub struct MXMetricPayload;
24);
25
26extern_conformance!(
27    unsafe impl NSCoding for MXMetricPayload {}
28);
29
30extern_conformance!(
31    unsafe impl NSObjectProtocol for MXMetricPayload {}
32);
33
34extern_conformance!(
35    unsafe impl NSSecureCoding for MXMetricPayload {}
36);
37
38impl MXMetricPayload {
39    extern_methods!(
40        /// An NSString representation of the application version from which this payload was generated.
41        ///
42        /// If the application version was changed during the aggregation of this data, this value will reflect the latest application version at the time of retrieval.
43        #[unsafe(method(latestApplicationVersion))]
44        #[unsafe(method_family = none)]
45        pub unsafe fn latestApplicationVersion(&self) -> Retained<NSString>;
46
47        /// A bool which indicates whether or not this payload contains data from multiple application versions.
48        ///
49        /// A value of YES indicates that this payload's data reflects multiple application versions.
50        ///
51        /// A value of NO indicates that this payload only reflects data from the application version specified by latestApplicationVersion.
52        #[unsafe(method(includesMultipleApplicationVersions))]
53        #[unsafe(method_family = none)]
54        pub unsafe fn includesMultipleApplicationVersions(&self) -> bool;
55
56        /// An NSDate object that indicates the time which the payload was generated.
57        #[unsafe(method(timeStampBegin))]
58        #[unsafe(method_family = none)]
59        pub unsafe fn timeStampBegin(&self) -> Retained<NSDate>;
60
61        /// An NSDate object that indicates the time which the payload was generated.
62        #[unsafe(method(timeStampEnd))]
63        #[unsafe(method_family = none)]
64        pub unsafe fn timeStampEnd(&self) -> Retained<NSDate>;
65
66        #[cfg(all(feature = "MXCPUMetric", feature = "MXMetric"))]
67        /// An object containing CPU metrics for this application.
68        #[unsafe(method(cpuMetrics))]
69        #[unsafe(method_family = none)]
70        pub unsafe fn cpuMetrics(&self) -> Option<Retained<MXCPUMetric>>;
71
72        #[cfg(all(feature = "MXGPUMetric", feature = "MXMetric"))]
73        /// An object containing GPU metrics for this application.
74        #[unsafe(method(gpuMetrics))]
75        #[unsafe(method_family = none)]
76        pub unsafe fn gpuMetrics(&self) -> Option<Retained<MXGPUMetric>>;
77
78        #[cfg(all(feature = "MXCellularConditionMetric", feature = "MXMetric"))]
79        /// An object containing a cellular condition metrics for this application.
80        #[unsafe(method(cellularConditionMetrics))]
81        #[unsafe(method_family = none)]
82        pub unsafe fn cellularConditionMetrics(
83            &self,
84        ) -> Option<Retained<MXCellularConditionMetric>>;
85
86        #[cfg(all(feature = "MXAppRunTimeMetric", feature = "MXMetric"))]
87        /// An object containing running mode metrics for this application.
88        #[unsafe(method(applicationTimeMetrics))]
89        #[unsafe(method_family = none)]
90        pub unsafe fn applicationTimeMetrics(&self) -> Option<Retained<MXAppRunTimeMetric>>;
91
92        #[cfg(all(feature = "MXLocationActivityMetric", feature = "MXMetric"))]
93        /// An object containing location activity metrics for this application.
94        #[unsafe(method(locationActivityMetrics))]
95        #[unsafe(method_family = none)]
96        pub unsafe fn locationActivityMetrics(&self) -> Option<Retained<MXLocationActivityMetric>>;
97
98        #[cfg(all(feature = "MXMetric", feature = "MXNetworkTransferMetric"))]
99        /// An object containing network transfer metrics for this application.
100        #[unsafe(method(networkTransferMetrics))]
101        #[unsafe(method_family = none)]
102        pub unsafe fn networkTransferMetrics(&self) -> Option<Retained<MXNetworkTransferMetric>>;
103
104        #[cfg(all(feature = "MXAppLaunchMetric", feature = "MXMetric"))]
105        /// An object containing launch metrics for this application.
106        #[unsafe(method(applicationLaunchMetrics))]
107        #[unsafe(method_family = none)]
108        pub unsafe fn applicationLaunchMetrics(&self) -> Option<Retained<MXAppLaunchMetric>>;
109
110        #[cfg(all(feature = "MXAppResponsivenessMetric", feature = "MXMetric"))]
111        /// An object containing hang metrics for this application.
112        #[unsafe(method(applicationResponsivenessMetrics))]
113        #[unsafe(method_family = none)]
114        pub unsafe fn applicationResponsivenessMetrics(
115            &self,
116        ) -> Option<Retained<MXAppResponsivenessMetric>>;
117
118        #[cfg(all(feature = "MXDiskIOMetric", feature = "MXMetric"))]
119        /// An object containing disk IO metrics for this application.
120        #[unsafe(method(diskIOMetrics))]
121        #[unsafe(method_family = none)]
122        pub unsafe fn diskIOMetrics(&self) -> Option<Retained<MXDiskIOMetric>>;
123
124        #[cfg(all(feature = "MXMemoryMetric", feature = "MXMetric"))]
125        /// An object containing memory metrics for this application.
126        #[unsafe(method(memoryMetrics))]
127        #[unsafe(method_family = none)]
128        pub unsafe fn memoryMetrics(&self) -> Option<Retained<MXMemoryMetric>>;
129
130        #[cfg(all(feature = "MXDisplayMetric", feature = "MXMetric"))]
131        /// An object containing display metrics for this application.
132        #[unsafe(method(displayMetrics))]
133        #[unsafe(method_family = none)]
134        pub unsafe fn displayMetrics(&self) -> Option<Retained<MXDisplayMetric>>;
135
136        #[cfg(all(feature = "MXAnimationMetric", feature = "MXMetric"))]
137        /// An object containing animation metrics for this application.
138        #[unsafe(method(animationMetrics))]
139        #[unsafe(method_family = none)]
140        pub unsafe fn animationMetrics(&self) -> Option<Retained<MXAnimationMetric>>;
141
142        #[cfg(all(feature = "MXAppExitMetric", feature = "MXMetric"))]
143        /// An object containing exit metrics for this application.
144        #[unsafe(method(applicationExitMetrics))]
145        #[unsafe(method_family = none)]
146        pub unsafe fn applicationExitMetrics(&self) -> Option<Retained<MXAppExitMetric>>;
147
148        #[cfg(all(feature = "MXDiskSpaceUsageMetric", feature = "MXMetric"))]
149        /// An object containing disk space usage metrics for this application.
150        #[unsafe(method(diskSpaceUsageMetrics))]
151        #[unsafe(method_family = none)]
152        pub unsafe fn diskSpaceUsageMetrics(&self) -> Option<Retained<MXDiskSpaceUsageMetric>>;
153
154        #[cfg(all(feature = "MXMetric", feature = "MXSignpostMetric"))]
155        /// An array containing signpost metrics for this application.
156        #[unsafe(method(signpostMetrics))]
157        #[unsafe(method_family = none)]
158        pub unsafe fn signpostMetrics(&self) -> Option<Retained<NSArray<MXSignpostMetric>>>;
159
160        #[cfg(feature = "MXMetaData")]
161        /// An object containing extra metadata for this payload.
162        #[unsafe(method(metaData))]
163        #[unsafe(method_family = none)]
164        pub unsafe fn metaData(&self) -> Option<Retained<MXMetaData>>;
165
166        /// Convenience method to return a JSON representation of this payload.
167        ///
168        /// Returns: An NSData object containing the JSON representation
169        #[unsafe(method(JSONRepresentation))]
170        #[unsafe(method_family = none)]
171        pub unsafe fn JSONRepresentation(&self) -> Retained<NSData>;
172
173        /// Convenience method to return a NSDictionary representation of this payload.
174        ///
175        /// Returns: An NSDictionary object containing the dictionary representation
176        #[deprecated]
177        #[unsafe(method(DictionaryRepresentation))]
178        #[unsafe(method_family = none)]
179        pub unsafe fn DictionaryRepresentation(&self) -> Retained<NSDictionary>;
180
181        /// Convenience method to return a NSDictionary representation of this payload.
182        ///
183        /// Returns: An NSDictionary object containing the dictionary representation
184        #[unsafe(method(dictionaryRepresentation))]
185        #[unsafe(method_family = none)]
186        pub unsafe fn dictionaryRepresentation(&self) -> Retained<NSDictionary>;
187    );
188}
189
190/// Methods declared on superclass `NSObject`.
191impl MXMetricPayload {
192    extern_methods!(
193        #[unsafe(method(init))]
194        #[unsafe(method_family = init)]
195        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
196
197        #[unsafe(method(new))]
198        #[unsafe(method_family = new)]
199        pub unsafe fn new() -> Retained<Self>;
200    );
201}