use crate::common::*;
use crate::Foundation::*;
use crate::MetricKit::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "MetricKit_MXMetricManager")]
pub struct MXMetricManager;
#[cfg(feature = "MetricKit_MXMetricManager")]
unsafe impl ClassType for MXMetricManager {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "MetricKit_MXMetricManager")]
unsafe impl NSObjectProtocol for MXMetricManager {}
extern_methods!(
#[cfg(feature = "MetricKit_MXMetricManager")]
unsafe impl MXMetricManager {
#[cfg(all(feature = "Foundation_NSArray", feature = "MetricKit_MXMetricPayload"))]
#[method_id(@__retain_semantics Other pastPayloads)]
pub unsafe fn pastPayloads(&self) -> Id<NSArray<MXMetricPayload>>;
#[cfg(all(
feature = "Foundation_NSArray",
feature = "MetricKit_MXDiagnosticPayload"
))]
#[method_id(@__retain_semantics Other pastDiagnosticPayloads)]
pub unsafe fn pastDiagnosticPayloads(&self) -> Id<NSArray<MXDiagnosticPayload>>;
#[method_id(@__retain_semantics Other sharedManager)]
pub unsafe fn sharedManager() -> Id<MXMetricManager>;
#[method(addSubscriber:)]
pub unsafe fn addSubscriber(
&self,
subscriber: &ProtocolObject<dyn MXMetricManagerSubscriber>,
);
#[method(removeSubscriber:)]
pub unsafe fn removeSubscriber(
&self,
subscriber: &ProtocolObject<dyn MXMetricManagerSubscriber>,
);
}
);
extern_methods!(
#[cfg(feature = "MetricKit_MXMetricManager")]
unsafe impl MXMetricManager {
#[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_protocol!(
pub unsafe trait MXMetricManagerSubscriber: NSObjectProtocol {
#[cfg(all(feature = "Foundation_NSArray", feature = "MetricKit_MXMetricPayload"))]
#[optional]
#[method(didReceiveMetricPayloads:)]
unsafe fn didReceiveMetricPayloads(&self, payloads: &NSArray<MXMetricPayload>);
#[cfg(all(
feature = "Foundation_NSArray",
feature = "MetricKit_MXDiagnosticPayload"
))]
#[optional]
#[method(didReceiveDiagnosticPayloads:)]
unsafe fn didReceiveDiagnosticPayloads(&self, payloads: &NSArray<MXDiagnosticPayload>);
}
unsafe impl ProtocolType for dyn MXMetricManagerSubscriber {}
);