use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MXSignpostIntervalData;
unsafe impl ClassType for MXSignpostIntervalData {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSCoding for MXSignpostIntervalData {}
unsafe impl NSObjectProtocol for MXSignpostIntervalData {}
unsafe impl NSSecureCoding for MXSignpostIntervalData {}
extern_methods!(
unsafe impl MXSignpostIntervalData {
#[cfg(feature = "MXHistogram")]
#[method_id(@__retain_semantics Other histogrammedSignpostDuration)]
pub unsafe fn histogrammedSignpostDuration(&self) -> Id<MXHistogram<NSUnitDuration>>;
#[method_id(@__retain_semantics Other cumulativeCPUTime)]
pub unsafe fn cumulativeCPUTime(&self) -> Option<Id<NSMeasurement<NSUnitDuration>>>;
#[cfg(feature = "MXAverage")]
#[method_id(@__retain_semantics Other averageMemory)]
pub unsafe fn averageMemory(&self) -> Option<Id<MXAverage<NSUnitInformationStorage>>>;
#[method_id(@__retain_semantics Other cumulativeLogicalWrites)]
pub unsafe fn cumulativeLogicalWrites(
&self,
) -> Option<Id<NSMeasurement<NSUnitInformationStorage>>>;
#[method_id(@__retain_semantics Other cumulativeHitchTimeRatio)]
pub unsafe fn cumulativeHitchTimeRatio(&self) -> Option<Id<NSMeasurement<NSUnit>>>;
}
);
extern_methods!(
unsafe impl MXSignpostIntervalData {
#[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 MXSignpostMetric;
#[cfg(feature = "MXMetric")]
unsafe impl ClassType for MXSignpostMetric {
#[inherits(NSObject)]
type Super = MXMetric;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "MXMetric")]
unsafe impl NSCoding for MXSignpostMetric {}
#[cfg(feature = "MXMetric")]
unsafe impl NSObjectProtocol for MXSignpostMetric {}
#[cfg(feature = "MXMetric")]
unsafe impl NSSecureCoding for MXSignpostMetric {}
extern_methods!(
#[cfg(feature = "MXMetric")]
unsafe impl MXSignpostMetric {
#[method_id(@__retain_semantics Other signpostName)]
pub unsafe fn signpostName(&self) -> Id<NSString>;
#[method_id(@__retain_semantics Other signpostCategory)]
pub unsafe fn signpostCategory(&self) -> Id<NSString>;
#[method_id(@__retain_semantics Other signpostIntervalData)]
pub unsafe fn signpostIntervalData(&self) -> Option<Id<MXSignpostIntervalData>>;
#[method(totalCount)]
pub unsafe fn totalCount(&self) -> NSUInteger;
}
);
extern_methods!(
#[cfg(feature = "MXMetric")]
unsafe impl MXSignpostMetric {
#[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>;
}
);