use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern "C" {
pub static ENErrorDomain: &'static NSErrorDomain;
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct ENErrorCode(pub NSInteger);
impl ENErrorCode {
#[doc(alias = "ENErrorCodeUnknown")]
pub const Unknown: Self = Self(1);
#[doc(alias = "ENErrorCodeBadParameter")]
pub const BadParameter: Self = Self(2);
#[doc(alias = "ENErrorCodeNotEntitled")]
pub const NotEntitled: Self = Self(3);
#[doc(alias = "ENErrorCodeNotAuthorized")]
pub const NotAuthorized: Self = Self(4);
#[doc(alias = "ENErrorCodeUnsupported")]
pub const Unsupported: Self = Self(5);
#[doc(alias = "ENErrorCodeInvalidated")]
pub const Invalidated: Self = Self(6);
#[doc(alias = "ENErrorCodeBluetoothOff")]
pub const BluetoothOff: Self = Self(7);
#[doc(alias = "ENErrorCodeInsufficientStorage")]
pub const InsufficientStorage: Self = Self(8);
#[doc(alias = "ENErrorCodeNotEnabled")]
pub const NotEnabled: Self = Self(9);
#[doc(alias = "ENErrorCodeAPIMisuse")]
pub const APIMisuse: Self = Self(10);
#[doc(alias = "ENErrorCodeInternal")]
pub const Internal: Self = Self(11);
#[doc(alias = "ENErrorCodeInsufficientMemory")]
pub const InsufficientMemory: Self = Self(12);
#[doc(alias = "ENErrorCodeRateLimited")]
pub const RateLimited: Self = Self(13);
#[doc(alias = "ENErrorCodeRestricted")]
pub const Restricted: Self = Self(14);
#[doc(alias = "ENErrorCodeBadFormat")]
pub const BadFormat: Self = Self(15);
#[doc(alias = "ENErrorCodeDataInaccessible")]
pub const DataInaccessible: Self = Self(16);
#[doc(alias = "ENErrorCodeTravelStatusNotAvailable")]
pub const TravelStatusNotAvailable: Self = Self(17);
}
unsafe impl Encode for ENErrorCode {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for ENErrorCode {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
pub type ENErrorOutType = *mut *mut NSError;
pub type ENAttenuation = u8;
pub const ENAttenuationMin: c_uint = 0;
pub const ENAttenuationMax: c_uint = 0xFF;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct ENAuthorizationStatus(pub NSInteger);
impl ENAuthorizationStatus {
#[doc(alias = "ENAuthorizationStatusUnknown")]
pub const Unknown: Self = Self(0);
#[doc(alias = "ENAuthorizationStatusRestricted")]
pub const Restricted: Self = Self(1);
#[doc(alias = "ENAuthorizationStatusNotAuthorized")]
pub const NotAuthorized: Self = Self(2);
#[doc(alias = "ENAuthorizationStatusAuthorized")]
pub const Authorized: Self = Self(3);
}
unsafe impl Encode for ENAuthorizationStatus {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for ENAuthorizationStatus {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct ENCalibrationConfidence(pub u8);
impl ENCalibrationConfidence {
#[doc(alias = "ENCalibrationConfidenceLowest")]
pub const Lowest: Self = Self(0);
#[doc(alias = "ENCalibrationConfidenceLow")]
pub const Low: Self = Self(1);
#[doc(alias = "ENCalibrationConfidenceMedium")]
pub const Medium: Self = Self(2);
#[doc(alias = "ENCalibrationConfidenceHigh")]
pub const High: Self = Self(3);
}
unsafe impl Encode for ENCalibrationConfidence {
const ENCODING: Encoding = u8::ENCODING;
}
unsafe impl RefEncode for ENCalibrationConfidence {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[deprecated = "Server must provide keys with days_since_onset_of_symptoms set."]
pub static ENDaysSinceOnsetOfSymptomsUnknown: NSInteger = NSIntegerMax as _;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct ENDiagnosisReportType(pub u32);
impl ENDiagnosisReportType {
#[doc(alias = "ENDiagnosisReportTypeUnknown")]
pub const Unknown: Self = Self(0);
#[doc(alias = "ENDiagnosisReportTypeConfirmedTest")]
pub const ConfirmedTest: Self = Self(1);
#[doc(alias = "ENDiagnosisReportTypeConfirmedClinicalDiagnosis")]
pub const ConfirmedClinicalDiagnosis: Self = Self(2);
#[doc(alias = "ENDiagnosisReportTypeSelfReported")]
pub const SelfReported: Self = Self(3);
#[doc(alias = "ENDiagnosisReportTypeRecursive")]
pub const Recursive: Self = Self(4);
#[doc(alias = "ENDiagnosisReportTypeRevoked")]
pub const Revoked: Self = Self(5);
}
unsafe impl Encode for ENDiagnosisReportType {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for ENDiagnosisReportType {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct ENInfectiousness(pub u32);
impl ENInfectiousness {
#[doc(alias = "ENInfectiousnessNone")]
pub const None: Self = Self(0);
#[doc(alias = "ENInfectiousnessStandard")]
pub const Standard: Self = Self(1);
#[doc(alias = "ENInfectiousnessHigh")]
pub const High: Self = Self(2);
}
unsafe impl Encode for ENInfectiousness {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for ENInfectiousness {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct ENVariantOfConcernType(pub u32);
impl ENVariantOfConcernType {
#[doc(alias = "ENVariantOfConcernTypeUnknown")]
pub const TypeUnknown: Self = Self(0);
#[doc(alias = "ENVariantOfConcernType1")]
pub const Type1: Self = Self(1);
#[doc(alias = "ENVariantOfConcernType2")]
pub const Type2: Self = Self(2);
#[doc(alias = "ENVariantOfConcernType3")]
pub const Type3: Self = Self(3);
#[doc(alias = "ENVariantOfConcernType4")]
pub const Type4: Self = Self(4);
}
unsafe impl Encode for ENVariantOfConcernType {
const ENCODING: Encoding = u32::ENCODING;
}
unsafe impl RefEncode for ENVariantOfConcernType {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
pub type ENIntervalNumber = u32;
pub type ENRiskLevel = u8;
pub const ENRiskLevelMin: c_uint = 0;
pub const ENRiskLevelMax: c_uint = 7;
pub type ENRiskLevelValue = u8;
pub const ENRiskLevelValueMin: c_uint = 0;
pub const ENRiskLevelValueMax: c_uint = 8;
pub type ENRiskScore = u8;
pub const ENRiskScoreMin: c_uint = 0;
pub const ENRiskScoreMax: c_uint = 255;
pub const ENRiskWeightDefault: c_uint = 1;
pub const ENRiskWeightDefaultV2: c_uint = 100;
pub const ENRiskWeightMin: c_uint = 0;
pub const ENRiskWeightMax: c_uint = 100;
pub const ENRiskWeightMaxV2: c_uint = 250;
#[cfg(feature = "block2")]
pub type ENErrorHandler = *mut block2::DynBlock<dyn Fn(*mut NSError)>;
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct ENExposureConfiguration;
);
extern_conformance!(
unsafe impl NSObjectProtocol for ENExposureConfiguration {}
);
impl ENExposureConfiguration {
extern_methods!(
#[unsafe(method(immediateDurationWeight))]
#[unsafe(method_family = none)]
pub unsafe fn immediateDurationWeight(&self) -> c_double;
#[unsafe(method(setImmediateDurationWeight:))]
#[unsafe(method_family = none)]
pub unsafe fn setImmediateDurationWeight(&self, immediate_duration_weight: c_double);
#[unsafe(method(nearDurationWeight))]
#[unsafe(method_family = none)]
pub unsafe fn nearDurationWeight(&self) -> c_double;
#[unsafe(method(setNearDurationWeight:))]
#[unsafe(method_family = none)]
pub unsafe fn setNearDurationWeight(&self, near_duration_weight: c_double);
#[unsafe(method(mediumDurationWeight))]
#[unsafe(method_family = none)]
pub unsafe fn mediumDurationWeight(&self) -> c_double;
#[unsafe(method(setMediumDurationWeight:))]
#[unsafe(method_family = none)]
pub unsafe fn setMediumDurationWeight(&self, medium_duration_weight: c_double);
#[unsafe(method(otherDurationWeight))]
#[unsafe(method_family = none)]
pub unsafe fn otherDurationWeight(&self) -> c_double;
#[unsafe(method(setOtherDurationWeight:))]
#[unsafe(method_family = none)]
pub unsafe fn setOtherDurationWeight(&self, other_duration_weight: c_double);
#[unsafe(method(infectiousnessForDaysSinceOnsetOfSymptoms))]
#[unsafe(method_family = none)]
pub unsafe fn infectiousnessForDaysSinceOnsetOfSymptoms(
&self,
) -> Option<Retained<NSDictionary<NSNumber, NSNumber>>>;
#[unsafe(method(setInfectiousnessForDaysSinceOnsetOfSymptoms:))]
#[unsafe(method_family = none)]
pub unsafe fn setInfectiousnessForDaysSinceOnsetOfSymptoms(
&self,
infectiousness_for_days_since_onset_of_symptoms: Option<
&NSDictionary<NSNumber, NSNumber>,
>,
);
#[unsafe(method(infectiousnessStandardWeight))]
#[unsafe(method_family = none)]
pub unsafe fn infectiousnessStandardWeight(&self) -> c_double;
#[unsafe(method(setInfectiousnessStandardWeight:))]
#[unsafe(method_family = none)]
pub unsafe fn setInfectiousnessStandardWeight(
&self,
infectiousness_standard_weight: c_double,
);
#[unsafe(method(infectiousnessHighWeight))]
#[unsafe(method_family = none)]
pub unsafe fn infectiousnessHighWeight(&self) -> c_double;
#[unsafe(method(setInfectiousnessHighWeight:))]
#[unsafe(method_family = none)]
pub unsafe fn setInfectiousnessHighWeight(&self, infectiousness_high_weight: c_double);
#[unsafe(method(reportTypeConfirmedTestWeight))]
#[unsafe(method_family = none)]
pub unsafe fn reportTypeConfirmedTestWeight(&self) -> c_double;
#[unsafe(method(setReportTypeConfirmedTestWeight:))]
#[unsafe(method_family = none)]
pub unsafe fn setReportTypeConfirmedTestWeight(
&self,
report_type_confirmed_test_weight: c_double,
);
#[unsafe(method(reportTypeConfirmedClinicalDiagnosisWeight))]
#[unsafe(method_family = none)]
pub unsafe fn reportTypeConfirmedClinicalDiagnosisWeight(&self) -> c_double;
#[unsafe(method(setReportTypeConfirmedClinicalDiagnosisWeight:))]
#[unsafe(method_family = none)]
pub unsafe fn setReportTypeConfirmedClinicalDiagnosisWeight(
&self,
report_type_confirmed_clinical_diagnosis_weight: c_double,
);
#[unsafe(method(reportTypeSelfReportedWeight))]
#[unsafe(method_family = none)]
pub unsafe fn reportTypeSelfReportedWeight(&self) -> c_double;
#[unsafe(method(setReportTypeSelfReportedWeight:))]
#[unsafe(method_family = none)]
pub unsafe fn setReportTypeSelfReportedWeight(
&self,
report_type_self_reported_weight: c_double,
);
#[unsafe(method(reportTypeRecursiveWeight))]
#[unsafe(method_family = none)]
pub unsafe fn reportTypeRecursiveWeight(&self) -> c_double;
#[unsafe(method(setReportTypeRecursiveWeight:))]
#[unsafe(method_family = none)]
pub unsafe fn setReportTypeRecursiveWeight(&self, report_type_recursive_weight: c_double);
#[unsafe(method(reportTypeNoneMap))]
#[unsafe(method_family = none)]
pub unsafe fn reportTypeNoneMap(&self) -> ENDiagnosisReportType;
#[unsafe(method(setReportTypeNoneMap:))]
#[unsafe(method_family = none)]
pub unsafe fn setReportTypeNoneMap(&self, report_type_none_map: ENDiagnosisReportType);
#[unsafe(method(attenuationDurationThresholds))]
#[unsafe(method_family = none)]
pub unsafe fn attenuationDurationThresholds(&self) -> Retained<NSArray<NSNumber>>;
#[unsafe(method(setAttenuationDurationThresholds:))]
#[unsafe(method_family = none)]
pub unsafe fn setAttenuationDurationThresholds(
&self,
attenuation_duration_thresholds: &NSArray<NSNumber>,
);
#[unsafe(method(daysSinceLastExposureThreshold))]
#[unsafe(method_family = none)]
pub unsafe fn daysSinceLastExposureThreshold(&self) -> NSInteger;
#[unsafe(method(setDaysSinceLastExposureThreshold:))]
#[unsafe(method_family = none)]
pub unsafe fn setDaysSinceLastExposureThreshold(
&self,
days_since_last_exposure_threshold: NSInteger,
);
#[unsafe(method(minimumRiskScoreFullRange))]
#[unsafe(method_family = none)]
pub unsafe fn minimumRiskScoreFullRange(&self) -> c_double;
#[unsafe(method(setMinimumRiskScoreFullRange:))]
#[unsafe(method_family = none)]
pub unsafe fn setMinimumRiskScoreFullRange(&self, minimum_risk_score_full_range: c_double);
#[unsafe(method(attenuationLevelValues))]
#[unsafe(method_family = none)]
pub unsafe fn attenuationLevelValues(&self) -> Retained<NSArray<NSNumber>>;
#[unsafe(method(setAttenuationLevelValues:))]
#[unsafe(method_family = none)]
pub unsafe fn setAttenuationLevelValues(
&self,
attenuation_level_values: &NSArray<NSNumber>,
);
#[unsafe(method(attenuationWeight))]
#[unsafe(method_family = none)]
pub unsafe fn attenuationWeight(&self) -> c_double;
#[unsafe(method(setAttenuationWeight:))]
#[unsafe(method_family = none)]
pub unsafe fn setAttenuationWeight(&self, attenuation_weight: c_double);
#[unsafe(method(daysSinceLastExposureLevelValues))]
#[unsafe(method_family = none)]
pub unsafe fn daysSinceLastExposureLevelValues(&self) -> Retained<NSArray<NSNumber>>;
#[unsafe(method(setDaysSinceLastExposureLevelValues:))]
#[unsafe(method_family = none)]
pub unsafe fn setDaysSinceLastExposureLevelValues(
&self,
days_since_last_exposure_level_values: &NSArray<NSNumber>,
);
#[unsafe(method(daysSinceLastExposureWeight))]
#[unsafe(method_family = none)]
pub unsafe fn daysSinceLastExposureWeight(&self) -> c_double;
#[unsafe(method(setDaysSinceLastExposureWeight:))]
#[unsafe(method_family = none)]
pub unsafe fn setDaysSinceLastExposureWeight(
&self,
days_since_last_exposure_weight: c_double,
);
#[unsafe(method(durationLevelValues))]
#[unsafe(method_family = none)]
pub unsafe fn durationLevelValues(&self) -> Retained<NSArray<NSNumber>>;
#[unsafe(method(setDurationLevelValues:))]
#[unsafe(method_family = none)]
pub unsafe fn setDurationLevelValues(&self, duration_level_values: &NSArray<NSNumber>);
#[unsafe(method(durationWeight))]
#[unsafe(method_family = none)]
pub unsafe fn durationWeight(&self) -> c_double;
#[unsafe(method(setDurationWeight:))]
#[unsafe(method_family = none)]
pub unsafe fn setDurationWeight(&self, duration_weight: c_double);
#[unsafe(method(metadata))]
#[unsafe(method_family = none)]
pub unsafe fn metadata(&self) -> Option<Retained<NSDictionary>>;
#[unsafe(method(setMetadata:))]
#[unsafe(method_family = none)]
pub unsafe fn setMetadata(&self, metadata: Option<&NSDictionary>);
#[unsafe(method(minimumRiskScore))]
#[unsafe(method_family = none)]
pub unsafe fn minimumRiskScore(&self) -> ENRiskScore;
#[unsafe(method(setMinimumRiskScore:))]
#[unsafe(method_family = none)]
pub unsafe fn setMinimumRiskScore(&self, minimum_risk_score: ENRiskScore);
#[unsafe(method(transmissionRiskLevelValues))]
#[unsafe(method_family = none)]
pub unsafe fn transmissionRiskLevelValues(&self) -> Retained<NSArray<NSNumber>>;
#[unsafe(method(setTransmissionRiskLevelValues:))]
#[unsafe(method_family = none)]
pub unsafe fn setTransmissionRiskLevelValues(
&self,
transmission_risk_level_values: &NSArray<NSNumber>,
);
#[unsafe(method(transmissionRiskWeight))]
#[unsafe(method_family = none)]
pub unsafe fn transmissionRiskWeight(&self) -> c_double;
#[unsafe(method(setTransmissionRiskWeight:))]
#[unsafe(method_family = none)]
pub unsafe fn setTransmissionRiskWeight(&self, transmission_risk_weight: c_double);
);
}
impl ENExposureConfiguration {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct ENExposureDaySummary;
);
extern_conformance!(
unsafe impl NSObjectProtocol for ENExposureDaySummary {}
);
impl ENExposureDaySummary {
extern_methods!(
#[unsafe(method(date))]
#[unsafe(method_family = none)]
pub unsafe fn date(&self) -> Retained<NSDate>;
#[unsafe(method(confirmedTestSummary))]
#[unsafe(method_family = none)]
pub unsafe fn confirmedTestSummary(&self) -> Option<Retained<ENExposureSummaryItem>>;
#[unsafe(method(confirmedClinicalDiagnosisSummary))]
#[unsafe(method_family = none)]
pub unsafe fn confirmedClinicalDiagnosisSummary(
&self,
) -> Option<Retained<ENExposureSummaryItem>>;
#[unsafe(method(recursiveSummary))]
#[unsafe(method_family = none)]
pub unsafe fn recursiveSummary(&self) -> Option<Retained<ENExposureSummaryItem>>;
#[unsafe(method(selfReportedSummary))]
#[unsafe(method_family = none)]
pub unsafe fn selfReportedSummary(&self) -> Option<Retained<ENExposureSummaryItem>>;
#[unsafe(method(daySummary))]
#[unsafe(method_family = none)]
pub unsafe fn daySummary(&self) -> Retained<ENExposureSummaryItem>;
);
}
impl ENExposureDaySummary {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct ENExposureDetectionSummary;
);
extern_conformance!(
unsafe impl NSObjectProtocol for ENExposureDetectionSummary {}
);
impl ENExposureDetectionSummary {
extern_methods!(
#[unsafe(method(attenuationDurations))]
#[unsafe(method_family = none)]
pub unsafe fn attenuationDurations(&self) -> Retained<NSArray<NSNumber>>;
#[unsafe(method(daysSinceLastExposure))]
#[unsafe(method_family = none)]
pub unsafe fn daysSinceLastExposure(&self) -> NSInteger;
#[unsafe(method(matchedKeyCount))]
#[unsafe(method_family = none)]
pub unsafe fn matchedKeyCount(&self) -> u64;
#[unsafe(method(maximumRiskScore))]
#[unsafe(method_family = none)]
pub unsafe fn maximumRiskScore(&self) -> ENRiskScore;
#[unsafe(method(maximumRiskScoreFullRange))]
#[unsafe(method_family = none)]
pub unsafe fn maximumRiskScoreFullRange(&self) -> c_double;
#[unsafe(method(metadata))]
#[unsafe(method_family = none)]
pub unsafe fn metadata(&self) -> Option<Retained<NSDictionary>>;
#[unsafe(method(riskScoreSumFullRange))]
#[unsafe(method_family = none)]
pub unsafe fn riskScoreSumFullRange(&self) -> c_double;
#[unsafe(method(daySummaries))]
#[unsafe(method_family = none)]
pub unsafe fn daySummaries(&self) -> Retained<NSArray<ENExposureDaySummary>>;
);
}
impl ENExposureDetectionSummary {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct ENExposureInfo;
);
extern_conformance!(
unsafe impl NSObjectProtocol for ENExposureInfo {}
);
impl ENExposureInfo {
extern_methods!(
#[unsafe(method(attenuationDurations))]
#[unsafe(method_family = none)]
pub unsafe fn attenuationDurations(&self) -> Retained<NSArray<NSNumber>>;
#[unsafe(method(attenuationValue))]
#[unsafe(method_family = none)]
pub unsafe fn attenuationValue(&self) -> ENAttenuation;
#[unsafe(method(date))]
#[unsafe(method_family = none)]
pub unsafe fn date(&self) -> Retained<NSDate>;
#[unsafe(method(daysSinceOnsetOfSymptoms))]
#[unsafe(method_family = none)]
pub unsafe fn daysSinceOnsetOfSymptoms(&self) -> NSInteger;
#[unsafe(method(diagnosisReportType))]
#[unsafe(method_family = none)]
pub unsafe fn diagnosisReportType(&self) -> ENDiagnosisReportType;
#[unsafe(method(duration))]
#[unsafe(method_family = none)]
pub unsafe fn duration(&self) -> NSTimeInterval;
#[unsafe(method(metadata))]
#[unsafe(method_family = none)]
pub unsafe fn metadata(&self) -> Option<Retained<NSDictionary>>;
#[unsafe(method(totalRiskScore))]
#[unsafe(method_family = none)]
pub unsafe fn totalRiskScore(&self) -> ENRiskScore;
#[unsafe(method(totalRiskScoreFullRange))]
#[unsafe(method_family = none)]
pub unsafe fn totalRiskScoreFullRange(&self) -> c_double;
#[unsafe(method(transmissionRiskLevel))]
#[unsafe(method_family = none)]
pub unsafe fn transmissionRiskLevel(&self) -> ENRiskLevel;
);
}
impl ENExposureInfo {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct ENExposureSummaryItem;
);
extern_conformance!(
unsafe impl NSObjectProtocol for ENExposureSummaryItem {}
);
impl ENExposureSummaryItem {
extern_methods!(
#[unsafe(method(maximumScore))]
#[unsafe(method_family = none)]
pub unsafe fn maximumScore(&self) -> c_double;
#[unsafe(method(scoreSum))]
#[unsafe(method_family = none)]
pub unsafe fn scoreSum(&self) -> c_double;
#[unsafe(method(weightedDurationSum))]
#[unsafe(method_family = none)]
pub unsafe fn weightedDurationSum(&self) -> NSTimeInterval;
);
}
impl ENExposureSummaryItem {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct ENExposureWindow;
);
extern_conformance!(
unsafe impl NSObjectProtocol for ENExposureWindow {}
);
impl ENExposureWindow {
extern_methods!(
#[unsafe(method(calibrationConfidence))]
#[unsafe(method_family = none)]
pub unsafe fn calibrationConfidence(&self) -> ENCalibrationConfidence;
#[unsafe(method(date))]
#[unsafe(method_family = none)]
pub unsafe fn date(&self) -> Retained<NSDate>;
#[unsafe(method(diagnosisReportType))]
#[unsafe(method_family = none)]
pub unsafe fn diagnosisReportType(&self) -> ENDiagnosisReportType;
#[unsafe(method(infectiousness))]
#[unsafe(method_family = none)]
pub unsafe fn infectiousness(&self) -> ENInfectiousness;
#[unsafe(method(scanInstances))]
#[unsafe(method_family = none)]
pub unsafe fn scanInstances(&self) -> Retained<NSArray<ENScanInstance>>;
#[unsafe(method(variantOfConcernType))]
#[unsafe(method_family = none)]
pub unsafe fn variantOfConcernType(&self) -> ENVariantOfConcernType;
);
}
impl ENExposureWindow {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct ENScanInstance;
);
extern_conformance!(
unsafe impl NSObjectProtocol for ENScanInstance {}
);
impl ENScanInstance {
extern_methods!(
#[unsafe(method(minimumAttenuation))]
#[unsafe(method_family = none)]
pub unsafe fn minimumAttenuation(&self) -> ENAttenuation;
#[unsafe(method(typicalAttenuation))]
#[unsafe(method_family = none)]
pub unsafe fn typicalAttenuation(&self) -> ENAttenuation;
#[unsafe(method(secondsSinceLastScan))]
#[unsafe(method_family = none)]
pub unsafe fn secondsSinceLastScan(&self) -> NSInteger;
);
}
impl ENScanInstance {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct ENTemporaryExposureKey;
);
extern_conformance!(
unsafe impl NSObjectProtocol for ENTemporaryExposureKey {}
);
impl ENTemporaryExposureKey {
extern_methods!(
#[unsafe(method(keyData))]
#[unsafe(method_family = none)]
pub unsafe fn keyData(&self) -> Retained<NSData>;
#[unsafe(method(setKeyData:))]
#[unsafe(method_family = none)]
pub unsafe fn setKeyData(&self, key_data: &NSData);
#[unsafe(method(rollingPeriod))]
#[unsafe(method_family = none)]
pub unsafe fn rollingPeriod(&self) -> ENIntervalNumber;
#[unsafe(method(setRollingPeriod:))]
#[unsafe(method_family = none)]
pub unsafe fn setRollingPeriod(&self, rolling_period: ENIntervalNumber);
#[unsafe(method(rollingStartNumber))]
#[unsafe(method_family = none)]
pub unsafe fn rollingStartNumber(&self) -> ENIntervalNumber;
#[unsafe(method(setRollingStartNumber:))]
#[unsafe(method_family = none)]
pub unsafe fn setRollingStartNumber(&self, rolling_start_number: ENIntervalNumber);
#[unsafe(method(transmissionRiskLevel))]
#[unsafe(method_family = none)]
pub unsafe fn transmissionRiskLevel(&self) -> ENRiskLevel;
#[unsafe(method(setTransmissionRiskLevel:))]
#[unsafe(method_family = none)]
pub unsafe fn setTransmissionRiskLevel(&self, transmission_risk_level: ENRiskLevel);
);
}
impl ENTemporaryExposureKey {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}