objc2_metric_kit/generated/
MXMemoryMetric.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 MXMetric subclass that encapsulates memory metrics.
11    ///
12    /// See also [Apple's documentation](https://developer.apple.com/documentation/metrickit/mxmemorymetric?language=objc)
13    #[unsafe(super(MXMetric, NSObject))]
14    #[derive(Debug, PartialEq, Eq, Hash)]
15    #[cfg(feature = "MXMetric")]
16    pub struct MXMemoryMetric;
17);
18
19#[cfg(feature = "MXMetric")]
20extern_conformance!(
21    unsafe impl NSCoding for MXMemoryMetric {}
22);
23
24#[cfg(feature = "MXMetric")]
25extern_conformance!(
26    unsafe impl NSObjectProtocol for MXMemoryMetric {}
27);
28
29#[cfg(feature = "MXMetric")]
30extern_conformance!(
31    unsafe impl NSSecureCoding for MXMemoryMetric {}
32);
33
34#[cfg(feature = "MXMetric")]
35impl MXMemoryMetric {
36    extern_methods!(
37        /// A single value representing the peak memory consumption of the application.
38        ///
39        /// Dimensioned as NSUnitInformationStorage.
40        #[unsafe(method(peakMemoryUsage))]
41        #[unsafe(method_family = none)]
42        pub unsafe fn peakMemoryUsage(&self) -> Retained<NSMeasurement<NSUnitInformationStorage>>;
43
44        #[cfg(feature = "MXAverage")]
45        /// Average memory of the application upon suspend.
46        ///
47        /// Dimensioned as NSUnitInformationStorage.
48        #[unsafe(method(averageSuspendedMemory))]
49        #[unsafe(method_family = none)]
50        pub unsafe fn averageSuspendedMemory(
51            &self,
52        ) -> Retained<MXAverage<NSUnitInformationStorage>>;
53    );
54}
55
56/// Methods declared on superclass `NSObject`.
57#[cfg(feature = "MXMetric")]
58impl MXMemoryMetric {
59    extern_methods!(
60        #[unsafe(method(init))]
61        #[unsafe(method_family = init)]
62        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
63
64        #[unsafe(method(new))]
65        #[unsafe(method_family = new)]
66        pub unsafe fn new() -> Retained<Self>;
67    );
68}