diff --git a/src/HealthKit/Enums.cs b/src/HealthKit/Enums.cs index a1fe970bddf7..ce0a59969d9d 100644 --- a/src/HealthKit/Enums.cs +++ b/src/HealthKit/Enums.cs @@ -152,141 +152,6 @@ public enum HKMetricPrefix : long { Tera } - // Convenience enum, ObjC uses NSString - [Watch (2,0)] - [iOS (8,0)] - public enum HKQuantityTypeIdentifier { - BodyMassIndex, - BodyFatPercentage, - Height, - BodyMass, - LeanBodyMass, - HeartRate, - StepCount, - DistanceWalkingRunning, - DistanceCycling, - BasalEnergyBurned, - ActiveEnergyBurned, - FlightsClimbed, - NikeFuel, - // Blood - OxygenSaturation, - BloodGlucose, - BloodPressureSystolic, - BloodPressureDiastolic, - BloodAlcoholContent, - PeripheralPerfusionIndex, - // Miscellaneous - ForcedVitalCapacity, - ForcedExpiratoryVolume1, - PeakExpiratoryFlowRate, - NumberOfTimesFallen, - InhalerUsage, - RespiratoryRate, - BodyTemperature, - // Nutrition - DietaryFatTotal, - DietaryFatPolyunsaturated, - DietaryFatMonounsaturated, - DietaryFatSaturated, - DietaryCholesterol, - DietarySodium, - DietaryCarbohydrates, - DietaryFiber, - DietarySugar, - DietaryEnergyConsumed, - DietaryProtein, - DietaryVitaminA, - DietaryVitaminB6, - DietaryVitaminB12, - DietaryVitaminC, - DietaryVitaminD, - DietaryVitaminE, - DietaryVitaminK, - DietaryCalcium, - DietaryIron, - DietaryThiamin, - DietaryRiboflavin, - DietaryNiacin, - DietaryFolate, - DietaryBiotin, - DietaryPantothenicAcid, - DietaryPhosphorus, - DietaryIodine, - DietaryMagnesium, - DietaryZinc, - DietarySelenium, - DietaryCopper, - DietaryManganese, - DietaryChromium, - DietaryMolybdenum, - DietaryChloride, - DietaryPotassium, - DietaryCaffeine, - [iOS (9,0)] - BasalBodyTemperature, - [iOS (9,0)] - DietaryWater, - [iOS (9,0)] - UVExposure, - ElectrodermalActivity, - [iOS (9,3), Watch (2,2)] - AppleExerciseTime, - [iOS (10,0), Watch (3,0)] - DistanceWheelchair, - [iOS (10,0), Watch (3,0)] - PushCount, - [iOS (10,0), Watch (3,0)] - DistanceSwimming, - [iOS (10,0), Watch (3,0)] - SwimmingStrokeCount, - [iOS (11,0), Watch (4,0)] - WaistCircumference, - [iOS (11, 0), Watch (4, 0)] - VO2Max, - } - - // Convenience enum, ObjC uses NSString - [Watch (2,0)] - [iOS (8,0)] - public enum HKCategoryTypeIdentifier { - SleepAnalysis, - [iOS (9,0)] - AppleStandHour, - [iOS (9,0)] - CervicalMucusQuality, - [iOS (9,0)] - OvulationTestResult, - [iOS (9,0)] - MenstrualFlow, - [iOS (9,0)] - IntermenstrualBleeding, - [iOS (9,0)] - SexualActivity, - [iOS (10,0), Watch (3,0)] - MindfulSession, - } - - // Convenience enum, ObjC uses NSString - [Watch (2,0)] - [iOS (8,0)] - public enum HKCharacteristicTypeIdentifier { - BiologicalSex, - BloodType, - DateOfBirth, - [iOS (9,0)] - FitzpatrickSkinType, - [iOS (10,0), Watch (3,0)] - WheelchairUse, - } - - // Convenience enum, ObjC uses NSString - [Watch (2,0), iOS (8,0)] - public enum HKCorrelationTypeIdentifier { - BloodPressure, - Food, - } - [Native] [Watch (2,0)] [iOS (8,0)] diff --git a/src/HealthKit/EnumsCompat.cs b/src/HealthKit/EnumsCompat.cs new file mode 100644 index 000000000000..939fca66be80 --- /dev/null +++ b/src/HealthKit/EnumsCompat.cs @@ -0,0 +1,673 @@ +#if !XAMCORE_4_0 + +using System; +using Foundation; +using ObjCRuntime; + +namespace HealthKit { + [Obsolete ("Use the 'HKQuantityTypeIdentifier' enum instead.")] + [Introduced (PlatformName.WatchOS, 2,0, PlatformArchitecture.All)] + [Introduced (PlatformName.iOS, 8,0, PlatformArchitecture.All)] + public unsafe static partial class HKQuantityTypeIdentifierKey { + public static NSString ActiveEnergyBurned { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.ActiveEnergyBurned); + } + } + + public static NSString AppleExerciseTime { + [Introduced (PlatformName.iOS, 9,3, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 2,2, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.AppleExerciseTime); + } + } + + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + public static NSString BasalBodyTemperature { + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.BasalBodyTemperature); + } + } + + public static NSString BasalEnergyBurned { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.BasalEnergyBurned); + } + } + + public static NSString BloodAlcoholContent { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.BloodAlcoholContent); + } + } + + public static NSString BloodGlucose { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.BloodGlucose); + } + } + + public static NSString BloodPressureDiastolic { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.BloodPressureDiastolic); + } + } + + public static NSString BloodPressureSystolic { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.BloodPressureSystolic); + } + } + + public static NSString BodyFatPercentage { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.BodyFatPercentage); + } + } + + public static NSString BodyMass { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.BodyMass); + } + } + + public static NSString BodyMassIndex { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.BodyMassIndex); + } + } + + public static NSString BodyTemperature { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.BodyTemperature); + } + } + + public static NSString DietaryBiotin { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryBiotin); + } + } + + public static NSString DietaryCaffeine { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryCaffeine); + } + } + + public static NSString DietaryCalcium { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryCalcium); + } + } + + public static NSString DietaryCarbohydrates { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryCarbohydrates); + } + } + + public static NSString DietaryChloride { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryChloride); + } + } + + public static NSString DietaryCholesterol { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryCholesterol); + } + } + + public static NSString DietaryChromium { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryChromium); + } + } + + public static NSString DietaryCopper { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryCopper); + } + } + + public static NSString DietaryEnergyConsumed { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryEnergyConsumed); + } + } + + public static NSString DietaryFatMonounsaturated { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryFatMonounsaturated); + } + } + + public static NSString DietaryFatPolyunsaturated { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryFatPolyunsaturated); + } + } + + public static NSString DietaryFatSaturated { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryFatSaturated); + } + } + + public static NSString DietaryFatTotal { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryFatTotal); + } + } + + public static NSString DietaryFiber { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryFiber); + } + } + + public static NSString DietaryFolate { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryFolate); + } + } + + public static NSString DietaryIodine { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryIodine); + } + } + + public static NSString DietaryIron { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryIron); + } + } + + public static NSString DietaryMagnesium { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryMagnesium); + } + } + + public static NSString DietaryManganese { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryManganese); + } + } + + public static NSString DietaryMolybdenum { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryMolybdenum); + } + } + + public static NSString DietaryNiacin { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryNiacin); + } + } + + public static NSString DietaryPantothenicAcid { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryPantothenicAcid); + } + } + + public static NSString DietaryPhosphorus { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryPhosphorus); + } + } + + public static NSString DietaryPotassium { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryPotassium); + } + } + + public static NSString DietaryProtein { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryProtein); + } + } + + public static NSString DietaryRiboflavin { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryRiboflavin); + } + } + + public static NSString DietarySelenium { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietarySelenium); + } + } + + public static NSString DietarySodium { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietarySodium); + } + } + + public static NSString DietarySugar { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietarySugar); + } + } + + public static NSString DietaryThiamin { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryThiamin); + } + } + + public static NSString DietaryVitaminA { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryVitaminA); + } + } + + public static NSString DietaryVitaminB12 { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryVitaminB12); + } + } + + public static NSString DietaryVitaminB6 { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryVitaminB6); + } + } + + public static NSString DietaryVitaminC { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryVitaminC); + } + } + + public static NSString DietaryVitaminD { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryVitaminD); + } + } + + public static NSString DietaryVitaminE { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryVitaminE); + } + } + + public static NSString DietaryVitaminK { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryVitaminK); + } + } + + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + public static NSString DietaryWater { + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryWater); + } + } + + public static NSString DietaryZinc { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DietaryZinc); + } + } + + public static NSString DistanceCycling { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DistanceCycling); + } + } + + [Introduced (PlatformName.WatchOS, 4,2, PlatformArchitecture.All)] + [Introduced (PlatformName.iOS, 11,2, PlatformArchitecture.All)] + public static NSString DistanceDownhillSnowSports { + [Introduced (PlatformName.WatchOS, 4,2, PlatformArchitecture.All)] + [Introduced (PlatformName.iOS, 11,2, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DistanceDownhillSnowSports); + } + } + + [Introduced (PlatformName.iOS, 10,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 3,0, PlatformArchitecture.All)] + public static NSString DistanceSwimming { + [Introduced (PlatformName.iOS, 10,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 3,0, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DistanceSwimming); + } + } + + public static NSString DistanceWalkingRunning { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DistanceWalkingRunning); + } + } + + [Introduced (PlatformName.iOS, 10,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 3,0, PlatformArchitecture.All)] + public static NSString DistanceWheelchair { + [Introduced (PlatformName.iOS, 10,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 3,0, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.DistanceWheelchair); + } + } + + public static NSString ElectrodermalActivity { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.ElectrodermalActivity); + } + } + + public static NSString FlightsClimbed { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.FlightsClimbed); + } + } + + public static NSString ForcedExpiratoryVolume1 { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.ForcedExpiratoryVolume1); + } + } + + public static NSString ForcedVitalCapacity { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.ForcedVitalCapacity); + } + } + + public static NSString HeartRate { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.HeartRate); + } + } + + [Introduced (PlatformName.iOS, 11,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 4,0, PlatformArchitecture.All)] + public static NSString HeartRateVariabilitySdnn { + [Introduced (PlatformName.iOS, 11,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 4,0, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.HeartRateVariabilitySdnn); + } + } + + public static NSString Height { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.Height); + } + } + + public static NSString InhalerUsage { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.InhalerUsage); + } + } + + [Introduced (PlatformName.iOS, 11,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 4,0, PlatformArchitecture.All)] + public static NSString InsulinDelivery { + [Introduced (PlatformName.iOS, 11,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 4,0, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.InsulinDelivery); + } + } + + public static NSString LeanBodyMass { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.LeanBodyMass); + } + } + + public static NSString NikeFuel { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.NikeFuel); + } + } + + public static NSString NumberOfTimesFallen { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.NumberOfTimesFallen); + } + } + + public static NSString OxygenSaturation { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.OxygenSaturation); + } + } + + public static NSString PeakExpiratoryFlowRate { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.PeakExpiratoryFlowRate); + } + } + + public static NSString PeripheralPerfusionIndex { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.PeripheralPerfusionIndex); + } + } + + [Introduced (PlatformName.iOS, 10,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 3,0, PlatformArchitecture.All)] + public static NSString PushCount { + [Introduced (PlatformName.iOS, 10,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 3,0, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.PushCount); + } + } + + public static NSString RespiratoryRate { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.RespiratoryRate); + } + } + + [Introduced (PlatformName.iOS, 11,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 4,0, PlatformArchitecture.All)] + public static NSString RestingHeartRate { + [Introduced (PlatformName.iOS, 11,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 4,0, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.RestingHeartRate); + } + } + + public static NSString StepCount { + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.StepCount); + } + } + + [Introduced (PlatformName.iOS, 10,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 3,0, PlatformArchitecture.All)] + public static NSString SwimmingStrokeCount { + [Introduced (PlatformName.iOS, 10,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 3,0, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.SwimmingStrokeCount); + } + } + + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + public static NSString UVExposure { + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.UVExposure); + } + } + + [Introduced (PlatformName.WatchOS, 4,0, PlatformArchitecture.All)] + [Introduced (PlatformName.iOS, 11,0, PlatformArchitecture.All)] + public static NSString VO2Max { + [Introduced (PlatformName.WatchOS, 4,0, PlatformArchitecture.All)] + [Introduced (PlatformName.iOS, 11,0, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.VO2Max); + } + } + + [Introduced (PlatformName.WatchOS, 4,0, PlatformArchitecture.All)] + [Introduced (PlatformName.iOS, 11,0, PlatformArchitecture.All)] + public static NSString WaistCircumference { + [Introduced (PlatformName.WatchOS, 4,0, PlatformArchitecture.All)] + [Introduced (PlatformName.iOS, 11,0, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.WaistCircumference); + } + } + + [Introduced (PlatformName.iOS, 11,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 4,0, PlatformArchitecture.All)] + public static NSString WalkingHeartRateAverage { + [Introduced (PlatformName.iOS, 11,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 4,0, PlatformArchitecture.All)] + get { + return HKQuantityTypeIdentifierExtensions.GetConstant (HKQuantityTypeIdentifier.WalkingHeartRateAverage); + } + } + } /* class HKQuantityTypeIdentifierKey */ + + [Obsolete ("Use the 'HKCategoryTypeIdentifier' enum instead.")] + [Introduced (PlatformName.WatchOS, 2,0, PlatformArchitecture.All)] + [Introduced (PlatformName.iOS, 8,0, PlatformArchitecture.All)] + public unsafe static partial class HKCategoryTypeIdentifierKey { + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + public static NSString AppleStandHour { + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + get { + return HKCategoryTypeIdentifierExtensions.GetConstant (HKCategoryTypeIdentifier.AppleStandHour); + } + } + + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + public static NSString CervicalMucusQuality { + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + get { + return HKCategoryTypeIdentifierExtensions.GetConstant (HKCategoryTypeIdentifier.CervicalMucusQuality); + } + } + + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + public static NSString IntermenstrualBleeding { + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + get { + return HKCategoryTypeIdentifierExtensions.GetConstant (HKCategoryTypeIdentifier.IntermenstrualBleeding); + } + } + + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + public static NSString MenstrualFlow { + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + get { + return HKCategoryTypeIdentifierExtensions.GetConstant (HKCategoryTypeIdentifier.MenstrualFlow); + } + } + + [Introduced (PlatformName.iOS, 10,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 3,0, PlatformArchitecture.All)] + public static NSString MindfulSession { + [Introduced (PlatformName.iOS, 10,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 3,0, PlatformArchitecture.All)] + get { + return HKCategoryTypeIdentifierExtensions.GetConstant (HKCategoryTypeIdentifier.MindfulSession); + } + } + + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + public static NSString OvulationTestResult { + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + get { + return HKCategoryTypeIdentifierExtensions.GetConstant (HKCategoryTypeIdentifier.OvulationTestResult); + } + } + + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + public static NSString SexualActivity { + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + get { + return HKCategoryTypeIdentifierExtensions.GetConstant (HKCategoryTypeIdentifier.SexualActivity); + } + } + + public static NSString SleepAnalysis { + get { + return HKCategoryTypeIdentifierExtensions.GetConstant (HKCategoryTypeIdentifier.SleepAnalysis); + } + } + } /* class HKCategoryTypeIdentifierKey */ + + [Obsolete ("Use the 'HKCharacteristicTypeIdentifier' enum instead.")] + [Introduced (PlatformName.WatchOS, 2,0, PlatformArchitecture.All)] + [Introduced (PlatformName.iOS, 8,0, PlatformArchitecture.All)] + public unsafe static partial class HKCharacteristicTypeIdentifierKey { + public static NSString BiologicalSex { + get { + return HKCharacteristicTypeIdentifierExtensions.GetConstant (HKCharacteristicTypeIdentifier.BiologicalSex); + } + } + + public static NSString BloodType { + get { + return HKCharacteristicTypeIdentifierExtensions.GetConstant (HKCharacteristicTypeIdentifier.BloodType); + } + } + + public static NSString DateOfBirth { + get { + return HKCharacteristicTypeIdentifierExtensions.GetConstant (HKCharacteristicTypeIdentifier.DateOfBirth); + } + } + + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + public static NSString FitzpatrickSkinType { + [Introduced (PlatformName.iOS, 9,0, PlatformArchitecture.All)] + get { + return HKCharacteristicTypeIdentifierExtensions.GetConstant (HKCharacteristicTypeIdentifier.FitzpatrickSkinType); + } + } + + [Introduced (PlatformName.iOS, 10,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 3,0, PlatformArchitecture.All)] + public static NSString WheelchairUse { + [Introduced (PlatformName.iOS, 10,0, PlatformArchitecture.All)] + [Introduced (PlatformName.WatchOS, 3,0, PlatformArchitecture.All)] + get { + return HKCharacteristicTypeIdentifierExtensions.GetConstant (HKCharacteristicTypeIdentifier.WheelchairUse); + } + } + } /* class HKCharacteristicTypeIdentifierKey */ + + [Obsolete ("Use the 'HKCorrelationType' enum instead.")] + [Introduced (PlatformName.WatchOS, 2,0, PlatformArchitecture.All)] + [Introduced (PlatformName.iOS, 8,0, PlatformArchitecture.All)] + public unsafe static partial class HKCorrelationTypeKey { + public static NSString IdentifierBloodPressure { + get { + return HKCorrelationTypeIdentifierExtensions.GetConstant (HKCorrelationTypeIdentifier.BloodPressure); + } + } + + public static NSString IdentifierFood { + get { + return HKCorrelationTypeIdentifierExtensions.GetConstant (HKCorrelationTypeIdentifier.Food); + } + } + } /* class HKCorrelationTypeKey */ +} + +#endif // !XAMCORE_4_0 diff --git a/src/HealthKit/HKObjectType.cs b/src/HealthKit/HKObjectType.cs index 3a9e4b08de73..22a22f05de70 100644 --- a/src/HealthKit/HKObjectType.cs +++ b/src/HealthKit/HKObjectType.cs @@ -14,315 +14,30 @@ namespace HealthKit { public partial class HKQuantityType { - static internal NSString ToKey (HKQuantityTypeIdentifier kind) - { - switch (kind){ - case HKQuantityTypeIdentifier.BodyMassIndex: - return HKQuantityTypeIdentifierKey.BodyMassIndex; - - case HKQuantityTypeIdentifier.BodyFatPercentage: - return HKQuantityTypeIdentifierKey.BodyFatPercentage; - - case HKQuantityTypeIdentifier.Height: - return HKQuantityTypeIdentifierKey.Height; - - case HKQuantityTypeIdentifier.BodyMass: - return HKQuantityTypeIdentifierKey.BodyMass; - - case HKQuantityTypeIdentifier.LeanBodyMass: - return HKQuantityTypeIdentifierKey.LeanBodyMass; - - case HKQuantityTypeIdentifier.HeartRate: - return HKQuantityTypeIdentifierKey.HeartRate; - - case HKQuantityTypeIdentifier.StepCount: - return HKQuantityTypeIdentifierKey.StepCount; - - case HKQuantityTypeIdentifier.DistanceWalkingRunning: - return HKQuantityTypeIdentifierKey.DistanceWalkingRunning; - - case HKQuantityTypeIdentifier.DistanceCycling: - return HKQuantityTypeIdentifierKey.DistanceCycling; - - case HKQuantityTypeIdentifier.DistanceWheelchair: - return HKQuantityTypeIdentifierKey.DistanceWheelchair; - - case HKQuantityTypeIdentifier.BasalEnergyBurned: - return HKQuantityTypeIdentifierKey.BasalEnergyBurned; - - case HKQuantityTypeIdentifier.ActiveEnergyBurned: - return HKQuantityTypeIdentifierKey.ActiveEnergyBurned; - - case HKQuantityTypeIdentifier.FlightsClimbed: - return HKQuantityTypeIdentifierKey.FlightsClimbed; - - case HKQuantityTypeIdentifier.NikeFuel: - return HKQuantityTypeIdentifierKey.NikeFuel; - - case HKQuantityTypeIdentifier.AppleExerciseTime: - return HKQuantityTypeIdentifierKey.AppleExerciseTime; - - case HKQuantityTypeIdentifier.PushCount: - return HKQuantityTypeIdentifierKey.PushCount; - - case HKQuantityTypeIdentifier.DistanceSwimming: - return HKQuantityTypeIdentifierKey.DistanceSwimming; - - case HKQuantityTypeIdentifier.SwimmingStrokeCount: - return HKQuantityTypeIdentifierKey.SwimmingStrokeCount; - - // Blood - case HKQuantityTypeIdentifier.OxygenSaturation: - return HKQuantityTypeIdentifierKey.OxygenSaturation; - - case HKQuantityTypeIdentifier.BloodGlucose: - return HKQuantityTypeIdentifierKey.BloodGlucose; - - case HKQuantityTypeIdentifier.BloodPressureSystolic: - return HKQuantityTypeIdentifierKey.BloodPressureSystolic; - - case HKQuantityTypeIdentifier.BloodPressureDiastolic: - return HKQuantityTypeIdentifierKey.BloodPressureDiastolic; - - case HKQuantityTypeIdentifier.BloodAlcoholContent: - return HKQuantityTypeIdentifierKey.BloodAlcoholContent; - - case HKQuantityTypeIdentifier.PeripheralPerfusionIndex: - return HKQuantityTypeIdentifierKey.PeripheralPerfusionIndex; - - // Miscellaneous - case HKQuantityTypeIdentifier.ForcedVitalCapacity: - return HKQuantityTypeIdentifierKey.ForcedVitalCapacity; - - case HKQuantityTypeIdentifier.ForcedExpiratoryVolume1: - return HKQuantityTypeIdentifierKey.ForcedExpiratoryVolume1; - - case HKQuantityTypeIdentifier.PeakExpiratoryFlowRate: - return HKQuantityTypeIdentifierKey.PeakExpiratoryFlowRate; - - case HKQuantityTypeIdentifier.NumberOfTimesFallen: - return HKQuantityTypeIdentifierKey.NumberOfTimesFallen; - - case HKQuantityTypeIdentifier.ElectrodermalActivity: - return HKQuantityTypeIdentifierKey.ElectrodermalActivity; - - case HKQuantityTypeIdentifier.InhalerUsage: - return HKQuantityTypeIdentifierKey.InhalerUsage; - - case HKQuantityTypeIdentifier.RespiratoryRate: - return HKQuantityTypeIdentifierKey.RespiratoryRate; - - case HKQuantityTypeIdentifier.BodyTemperature: - return HKQuantityTypeIdentifierKey.BodyTemperature; - - // Nutrition - case HKQuantityTypeIdentifier.DietaryFatTotal: - return HKQuantityTypeIdentifierKey.DietaryFatTotal; - - case HKQuantityTypeIdentifier.DietaryFatPolyunsaturated: - return HKQuantityTypeIdentifierKey.DietaryFatPolyunsaturated; - - case HKQuantityTypeIdentifier.DietaryFatMonounsaturated: - return HKQuantityTypeIdentifierKey.DietaryFatMonounsaturated; - - case HKQuantityTypeIdentifier.DietaryFatSaturated: - return HKQuantityTypeIdentifierKey.DietaryFatSaturated; - - case HKQuantityTypeIdentifier.DietaryCholesterol: - return HKQuantityTypeIdentifierKey.DietaryCholesterol; - - case HKQuantityTypeIdentifier.DietarySodium: - return HKQuantityTypeIdentifierKey.DietarySodium; - - case HKQuantityTypeIdentifier.DietaryCarbohydrates: - return HKQuantityTypeIdentifierKey.DietaryCarbohydrates; - - case HKQuantityTypeIdentifier.DietaryFiber: - return HKQuantityTypeIdentifierKey.DietaryFiber; - - case HKQuantityTypeIdentifier.DietarySugar: - return HKQuantityTypeIdentifierKey.DietarySugar; - - case HKQuantityTypeIdentifier.DietaryEnergyConsumed: - return HKQuantityTypeIdentifierKey.DietaryEnergyConsumed; - - case HKQuantityTypeIdentifier.DietaryProtein: - return HKQuantityTypeIdentifierKey.DietaryProtein; - - case HKQuantityTypeIdentifier.DietaryVitaminA: - return HKQuantityTypeIdentifierKey.DietaryVitaminA; - - case HKQuantityTypeIdentifier.DietaryVitaminB6: - return HKQuantityTypeIdentifierKey.DietaryVitaminB6; - - case HKQuantityTypeIdentifier.DietaryVitaminB12: - return HKQuantityTypeIdentifierKey.DietaryVitaminB12; - - case HKQuantityTypeIdentifier.DietaryVitaminC: - return HKQuantityTypeIdentifierKey.DietaryVitaminC; - - case HKQuantityTypeIdentifier.DietaryVitaminD: - return HKQuantityTypeIdentifierKey.DietaryVitaminD; - - case HKQuantityTypeIdentifier.DietaryVitaminE: - return HKQuantityTypeIdentifierKey.DietaryVitaminE; - - case HKQuantityTypeIdentifier.DietaryVitaminK: - return HKQuantityTypeIdentifierKey.DietaryVitaminK; - - case HKQuantityTypeIdentifier.DietaryCalcium: - return HKQuantityTypeIdentifierKey.DietaryCalcium; - - case HKQuantityTypeIdentifier.DietaryIron: - return HKQuantityTypeIdentifierKey.DietaryIron; - - case HKQuantityTypeIdentifier.DietaryThiamin: - return HKQuantityTypeIdentifierKey.DietaryThiamin; - - case HKQuantityTypeIdentifier.DietaryRiboflavin: - return HKQuantityTypeIdentifierKey.DietaryRiboflavin; - - case HKQuantityTypeIdentifier.DietaryNiacin: - return HKQuantityTypeIdentifierKey.DietaryNiacin; - - case HKQuantityTypeIdentifier.DietaryFolate: - return HKQuantityTypeIdentifierKey.DietaryFolate; - - case HKQuantityTypeIdentifier.DietaryBiotin: - return HKQuantityTypeIdentifierKey.DietaryBiotin; - - case HKQuantityTypeIdentifier.DietaryPantothenicAcid: - return HKQuantityTypeIdentifierKey.DietaryPantothenicAcid; - - case HKQuantityTypeIdentifier.DietaryPhosphorus: - return HKQuantityTypeIdentifierKey.DietaryPhosphorus; - - case HKQuantityTypeIdentifier.DietaryIodine: - return HKQuantityTypeIdentifierKey.DietaryIodine; - - case HKQuantityTypeIdentifier.DietaryMagnesium: - return HKQuantityTypeIdentifierKey.DietaryMagnesium; - - case HKQuantityTypeIdentifier.DietaryZinc: - return HKQuantityTypeIdentifierKey.DietaryZinc; - - case HKQuantityTypeIdentifier.DietarySelenium: - return HKQuantityTypeIdentifierKey.DietarySelenium; - - case HKQuantityTypeIdentifier.DietaryCopper: - return HKQuantityTypeIdentifierKey.DietaryCopper; - - case HKQuantityTypeIdentifier.DietaryManganese: - return HKQuantityTypeIdentifierKey.DietaryManganese; - - case HKQuantityTypeIdentifier.DietaryChromium: - return HKQuantityTypeIdentifierKey.DietaryChromium; - - case HKQuantityTypeIdentifier.DietaryMolybdenum: - return HKQuantityTypeIdentifierKey.DietaryMolybdenum; - - case HKQuantityTypeIdentifier.DietaryChloride: - return HKQuantityTypeIdentifierKey.DietaryChloride; - - case HKQuantityTypeIdentifier.DietaryPotassium: - return HKQuantityTypeIdentifierKey.DietaryPotassium; - - case HKQuantityTypeIdentifier.DietaryCaffeine: - return HKQuantityTypeIdentifierKey.DietaryCaffeine; - - case HKQuantityTypeIdentifier.BasalBodyTemperature: - return HKQuantityTypeIdentifierKey.BasalBodyTemperature; - - case HKQuantityTypeIdentifier.DietaryWater: - return HKQuantityTypeIdentifierKey.DietaryWater; - - case HKQuantityTypeIdentifier.UVExposure: - return HKQuantityTypeIdentifierKey.UVExposure; - - case HKQuantityTypeIdentifier.WaistCircumference: - return HKQuantityTypeIdentifierKey.WaistCircumference; - - case HKQuantityTypeIdentifier.VO2Max: - return HKQuantityTypeIdentifierKey.VO2Max; - } - return null; - } - public static HKQuantityType Create (HKQuantityTypeIdentifier kind) { - return HKObjectType.GetQuantityType (ToKey (kind)); + return HKObjectType.GetQuantityType (kind.GetConstant ()); } } public partial class HKCategoryType { - static internal NSString ToKey (HKCategoryTypeIdentifier kind) - { - switch (kind){ - case HKCategoryTypeIdentifier.SleepAnalysis: - return HKCategoryTypeIdentifierKey.SleepAnalysis; - case HKCategoryTypeIdentifier.AppleStandHour: - return HKCategoryTypeIdentifierKey.AppleStandHour; - case HKCategoryTypeIdentifier.CervicalMucusQuality: - return HKCategoryTypeIdentifierKey.CervicalMucusQuality; - case HKCategoryTypeIdentifier.OvulationTestResult: - return HKCategoryTypeIdentifierKey.OvulationTestResult; - case HKCategoryTypeIdentifier.MenstrualFlow: - return HKCategoryTypeIdentifierKey.MenstrualFlow; - case HKCategoryTypeIdentifier.IntermenstrualBleeding: - return HKCategoryTypeIdentifierKey.IntermenstrualBleeding; - case HKCategoryTypeIdentifier.SexualActivity: - return HKCategoryTypeIdentifierKey.SexualActivity; - case HKCategoryTypeIdentifier.MindfulSession: - return HKCategoryTypeIdentifierKey.MindfulSession; - } - return null; - } - public static HKCategoryType Create (HKCategoryTypeIdentifier kind) { - return HKObjectType.GetCategoryType (ToKey (kind)); + return HKObjectType.GetCategoryType (kind.GetConstant ()); } } public partial class HKCharacteristicType { - static internal NSString ToKey (HKCharacteristicTypeIdentifier kind) - { - switch (kind){ - case HKCharacteristicTypeIdentifier.BiologicalSex: - return HKCharacteristicTypeIdentifierKey.BiologicalSex; - case HKCharacteristicTypeIdentifier.BloodType: - return HKCharacteristicTypeIdentifierKey.BloodType; - case HKCharacteristicTypeIdentifier.DateOfBirth: - return HKCharacteristicTypeIdentifierKey.DateOfBirth; - case HKCharacteristicTypeIdentifier.FitzpatrickSkinType: - return HKCharacteristicTypeIdentifierKey.FitzpatrickSkinType; - case HKCharacteristicTypeIdentifier.WheelchairUse: - return HKCharacteristicTypeIdentifierKey.WheelchairUse; - } - return null; - } - public static HKCharacteristicType Create (HKCharacteristicTypeIdentifier kind) { - return HKObjectType.GetCharacteristicType (ToKey (kind)); + return HKObjectType.GetCharacteristicType (kind.GetConstant ()); } } public partial class HKCorrelationType { - static internal NSString ToKey (HKCorrelationTypeIdentifier kind) - { - switch (kind) { - case HKCorrelationTypeIdentifier.BloodPressure: - return HKCorrelationTypeKey.IdentifierBloodPressure; - case HKCorrelationTypeIdentifier.Food: - return HKCorrelationTypeKey.IdentifierFood; - } - return null; - } - public static HKCorrelationType Create (HKCorrelationTypeIdentifier kind) { - return HKObjectType.GetCorrelationType (ToKey (kind)); + return HKObjectType.GetCorrelationType (kind.GetConstant ()); } } diff --git a/src/frameworks.sources b/src/frameworks.sources index 201a06e3fc27..5fd80020d797 100644 --- a/src/frameworks.sources +++ b/src/frameworks.sources @@ -846,6 +846,7 @@ HEALTHKIT_API_SOURCES = \ HealthKit/Enums.cs \ HEALTHKIT_SOURCES = \ + HealthKit/EnumsCompat.cs \ HealthKit/HKAnchoredObjectQuery.cs \ HealthKit/HKObjectType.cs \ HealthKit/HKObsolete.cs \ diff --git a/src/healthkit.cs b/src/healthkit.cs index 4ed974473292..667b38a3b100 100644 --- a/src/healthkit.cs +++ b/src/healthkit.cs @@ -1432,349 +1432,338 @@ interface HKStatisticsQuery { [Watch (2,0)] [iOS (8,0)] - [Static] - interface HKQuantityTypeIdentifierKey { + enum HKQuantityTypeIdentifier { [Field ("HKQuantityTypeIdentifierBodyMassIndex")] - NSString BodyMassIndex { get; } + BodyMassIndex, [Field ("HKQuantityTypeIdentifierBodyFatPercentage")] - NSString BodyFatPercentage { get; } + BodyFatPercentage, [Field ("HKQuantityTypeIdentifierHeight")] - NSString Height { get; } + Height, [Field ("HKQuantityTypeIdentifierBodyMass")] - NSString BodyMass { get; } + BodyMass, [Field ("HKQuantityTypeIdentifierLeanBodyMass")] - NSString LeanBodyMass { get; } + LeanBodyMass, [Field ("HKQuantityTypeIdentifierHeartRate")] - NSString HeartRate { get; } + HeartRate, [Field ("HKQuantityTypeIdentifierStepCount")] - NSString StepCount { get; } + StepCount, [Field ("HKQuantityTypeIdentifierDistanceWalkingRunning")] - NSString DistanceWalkingRunning { get; } + DistanceWalkingRunning, [Field ("HKQuantityTypeIdentifierDistanceCycling")] - NSString DistanceCycling { get; } - - [iOS (10,0), Watch (3,0)] - [Field ("HKQuantityTypeIdentifierDistanceWheelchair")] - NSString DistanceWheelchair { get; } + DistanceCycling, [Field ("HKQuantityTypeIdentifierBasalEnergyBurned")] - NSString BasalEnergyBurned { get; } + BasalEnergyBurned, [Field ("HKQuantityTypeIdentifierActiveEnergyBurned")] - NSString ActiveEnergyBurned { get; } + ActiveEnergyBurned, [Field ("HKQuantityTypeIdentifierFlightsClimbed")] - NSString FlightsClimbed { get; } + FlightsClimbed, [Field ("HKQuantityTypeIdentifierNikeFuel")] - NSString NikeFuel { get; } - - [iOS (9,3), Watch (2,2)] - [Field ("HKQuantityTypeIdentifierAppleExerciseTime")] - NSString AppleExerciseTime { get; } - - [iOS (10,0), Watch (3,0)] - [Field ("HKQuantityTypeIdentifierPushCount")] - NSString PushCount { get; } - - [iOS (10,0), Watch (3,0)] - [Field ("HKQuantityTypeIdentifierDistanceSwimming")] - NSString DistanceSwimming { get; } - - [iOS (10,0), Watch (3,0)] - [Field ("HKQuantityTypeIdentifierSwimmingStrokeCount")] - NSString SwimmingStrokeCount { get; } + NikeFuel, // Blood [Field ("HKQuantityTypeIdentifierOxygenSaturation")] - NSString OxygenSaturation { get; } + OxygenSaturation, [Field ("HKQuantityTypeIdentifierBloodGlucose")] - NSString BloodGlucose { get; } + BloodGlucose, [Field ("HKQuantityTypeIdentifierBloodPressureSystolic")] - NSString BloodPressureSystolic { get; } + BloodPressureSystolic, [Field ("HKQuantityTypeIdentifierBloodPressureDiastolic")] - NSString BloodPressureDiastolic { get; } + BloodPressureDiastolic, [Field ("HKQuantityTypeIdentifierBloodAlcoholContent")] - NSString BloodAlcoholContent { get; } + BloodAlcoholContent, + + [Field ("HKQuantityTypeIdentifierPeripheralPerfusionIndex")] + PeripheralPerfusionIndex, [Field ("HKQuantityTypeIdentifierForcedVitalCapacity")] - NSString ForcedVitalCapacity { get; } + ForcedVitalCapacity, [Field ("HKQuantityTypeIdentifierForcedExpiratoryVolume1")] - NSString ForcedExpiratoryVolume1 { get; } + ForcedExpiratoryVolume1, [Field ("HKQuantityTypeIdentifierPeakExpiratoryFlowRate")] - NSString PeakExpiratoryFlowRate { get; } - - [Field ("HKQuantityTypeIdentifierPeripheralPerfusionIndex")] - NSString PeripheralPerfusionIndex { get; } + PeakExpiratoryFlowRate, // Miscellaneous [Field ("HKQuantityTypeIdentifierNumberOfTimesFallen")] - NSString NumberOfTimesFallen { get; } - - [Field ("HKQuantityTypeIdentifierElectrodermalActivity")] - NSString ElectrodermalActivity { get; } + NumberOfTimesFallen, [Field ("HKQuantityTypeIdentifierInhalerUsage")] - NSString InhalerUsage { get; } + InhalerUsage, [Field ("HKQuantityTypeIdentifierRespiratoryRate")] - NSString RespiratoryRate { get; } - - [iOS (11,0), Watch (4,0)] - [Field ("HKQuantityTypeIdentifierInsulinDelivery")] - NSString InsulinDelivery { get; } - - [iOS (11,0), Watch (4,0)] - [Field ("HKQuantityTypeIdentifierRestingHeartRate")] - NSString RestingHeartRate { get; } - - [iOS (11,0), Watch (4,0)] - [Field ("HKQuantityTypeIdentifierWalkingHeartRateAverage")] - NSString WalkingHeartRateAverage { get; } - - [iOS (11,0), Watch (4,0)] - [Field ("HKQuantityTypeIdentifierHeartRateVariabilitySDNN")] - NSString HeartRateVariabilitySdnn { get; } + RespiratoryRate, [Field ("HKQuantityTypeIdentifierBodyTemperature")] - NSString BodyTemperature { get; } + BodyTemperature, // Nutrition [Field ("HKQuantityTypeIdentifierDietaryFatTotal")] - NSString DietaryFatTotal { get; } + DietaryFatTotal, [Field ("HKQuantityTypeIdentifierDietaryFatPolyunsaturated")] - NSString DietaryFatPolyunsaturated { get; } + DietaryFatPolyunsaturated, [Field ("HKQuantityTypeIdentifierDietaryFatMonounsaturated")] - NSString DietaryFatMonounsaturated { get; } + DietaryFatMonounsaturated, [Field ("HKQuantityTypeIdentifierDietaryFatSaturated")] - NSString DietaryFatSaturated { get; } + DietaryFatSaturated, [Field ("HKQuantityTypeIdentifierDietaryCholesterol")] - NSString DietaryCholesterol { get; } + DietaryCholesterol, [Field ("HKQuantityTypeIdentifierDietarySodium")] - NSString DietarySodium { get; } + DietarySodium, [Field ("HKQuantityTypeIdentifierDietaryCarbohydrates")] - NSString DietaryCarbohydrates { get; } + DietaryCarbohydrates, [Field ("HKQuantityTypeIdentifierDietaryFiber")] - NSString DietaryFiber { get; } + DietaryFiber, [Field ("HKQuantityTypeIdentifierDietarySugar")] - NSString DietarySugar { get; } + DietarySugar, [Field ("HKQuantityTypeIdentifierDietaryEnergyConsumed")] - NSString DietaryEnergyConsumed { get; } + DietaryEnergyConsumed, [Field ("HKQuantityTypeIdentifierDietaryProtein")] - NSString DietaryProtein { get; } + DietaryProtein, [Field ("HKQuantityTypeIdentifierDietaryVitaminA")] - NSString DietaryVitaminA { get; } + DietaryVitaminA, [Field ("HKQuantityTypeIdentifierDietaryVitaminB6")] - NSString DietaryVitaminB6 { get; } + DietaryVitaminB6, [Field ("HKQuantityTypeIdentifierDietaryVitaminB12")] - NSString DietaryVitaminB12 { get; } + DietaryVitaminB12, [Field ("HKQuantityTypeIdentifierDietaryVitaminC")] - NSString DietaryVitaminC { get; } + DietaryVitaminC, [Field ("HKQuantityTypeIdentifierDietaryVitaminD")] - NSString DietaryVitaminD { get; } + DietaryVitaminD, [Field ("HKQuantityTypeIdentifierDietaryVitaminE")] - NSString DietaryVitaminE { get; } + DietaryVitaminE, [Field ("HKQuantityTypeIdentifierDietaryVitaminK")] - NSString DietaryVitaminK { get; } + DietaryVitaminK, [Field ("HKQuantityTypeIdentifierDietaryCalcium")] - NSString DietaryCalcium { get; } + DietaryCalcium, [Field ("HKQuantityTypeIdentifierDietaryIron")] - NSString DietaryIron { get; } + DietaryIron, [Field ("HKQuantityTypeIdentifierDietaryThiamin")] - NSString DietaryThiamin { get; } + DietaryThiamin, [Field ("HKQuantityTypeIdentifierDietaryRiboflavin")] - NSString DietaryRiboflavin { get; } + DietaryRiboflavin, [Field ("HKQuantityTypeIdentifierDietaryNiacin")] - NSString DietaryNiacin { get; } + DietaryNiacin, [Field ("HKQuantityTypeIdentifierDietaryFolate")] - NSString DietaryFolate { get; } + DietaryFolate, [Field ("HKQuantityTypeIdentifierDietaryBiotin")] - NSString DietaryBiotin { get; } + DietaryBiotin, [Field ("HKQuantityTypeIdentifierDietaryPantothenicAcid")] - NSString DietaryPantothenicAcid { get; } + DietaryPantothenicAcid, [Field ("HKQuantityTypeIdentifierDietaryPhosphorus")] - NSString DietaryPhosphorus { get; } + DietaryPhosphorus, [Field ("HKQuantityTypeIdentifierDietaryIodine")] - NSString DietaryIodine { get; } + DietaryIodine, [Field ("HKQuantityTypeIdentifierDietaryMagnesium")] - NSString DietaryMagnesium { get; } + DietaryMagnesium, [Field ("HKQuantityTypeIdentifierDietaryZinc")] - NSString DietaryZinc { get; } + DietaryZinc, [Field ("HKQuantityTypeIdentifierDietarySelenium")] - NSString DietarySelenium { get; } + DietarySelenium, [Field ("HKQuantityTypeIdentifierDietaryCopper")] - NSString DietaryCopper { get; } + DietaryCopper, [Field ("HKQuantityTypeIdentifierDietaryManganese")] - NSString DietaryManganese { get; } + DietaryManganese, [Field ("HKQuantityTypeIdentifierDietaryChromium")] - NSString DietaryChromium { get; } + DietaryChromium, [Field ("HKQuantityTypeIdentifierDietaryMolybdenum")] - NSString DietaryMolybdenum { get; } + DietaryMolybdenum, [Field ("HKQuantityTypeIdentifierDietaryChloride")] - NSString DietaryChloride { get; } + DietaryChloride, [Field ("HKQuantityTypeIdentifierDietaryPotassium")] - NSString DietaryPotassium { get; } + DietaryPotassium, [Field ("HKQuantityTypeIdentifierDietaryCaffeine")] - NSString DietaryCaffeine { get; } + DietaryCaffeine, [iOS (9,0)] [Field ("HKQuantityTypeIdentifierBasalBodyTemperature")] - NSString BasalBodyTemperature { get; } + BasalBodyTemperature, [iOS (9,0)] [Field ("HKQuantityTypeIdentifierDietaryWater")] - NSString DietaryWater { get; } + DietaryWater, [iOS (9,0)] [Field ("HKQuantityTypeIdentifierUVExposure")] - NSString UVExposure { get; } + UVExposure, + + [Field ("HKQuantityTypeIdentifierElectrodermalActivity")] + ElectrodermalActivity, + + [iOS (9,3), Watch (2,2)] + [Field ("HKQuantityTypeIdentifierAppleExerciseTime")] + AppleExerciseTime, + + [iOS (10,0), Watch (3,0)] + [Field ("HKQuantityTypeIdentifierDistanceWheelchair")] + DistanceWheelchair, + + [iOS (10,0), Watch (3,0)] + [Field ("HKQuantityTypeIdentifierPushCount")] + PushCount, + + [iOS (10,0), Watch (3,0)] + [Field ("HKQuantityTypeIdentifierDistanceSwimming")] + DistanceSwimming, + + [iOS (10,0), Watch (3,0)] + [Field ("HKQuantityTypeIdentifierSwimmingStrokeCount")] + SwimmingStrokeCount, [Watch (4, 0), iOS (11, 0)] [Field ("HKQuantityTypeIdentifierWaistCircumference")] - NSString WaistCircumference { get; } + WaistCircumference, [Watch (4, 0), iOS (11, 0)] [Field ("HKQuantityTypeIdentifierVO2Max")] - NSString VO2Max { get; } + VO2Max, [Watch (4,2), iOS (11,2)] [Field ("HKQuantityTypeIdentifierDistanceDownhillSnowSports")] - NSString DistanceDownhillSnowSports { get; } + DistanceDownhillSnowSports, + + [iOS (11,0), Watch (4,0)] + [Field ("HKQuantityTypeIdentifierInsulinDelivery")] + InsulinDelivery, + + [iOS (11,0), Watch (4,0)] + [Field ("HKQuantityTypeIdentifierRestingHeartRate")] + RestingHeartRate, + + [iOS (11,0), Watch (4,0)] + [Field ("HKQuantityTypeIdentifierWalkingHeartRateAverage")] + WalkingHeartRateAverage, + + [iOS (11,0), Watch (4,0)] + [Field ("HKQuantityTypeIdentifierHeartRateVariabilitySDNN")] + HeartRateVariabilitySdnn, - // If you add field, add them to the enum too. } [Watch (2,0)] [iOS (8,0)] - [Static] - interface HKCorrelationTypeKey { + enum HKCorrelationTypeIdentifier { [Field ("HKCorrelationTypeIdentifierBloodPressure")] - NSString IdentifierBloodPressure { get; } + BloodPressure, [Field ("HKCorrelationTypeIdentifierFood")] - NSString IdentifierFood { get; } - - // If you add fields, add them to the enum too. + Food, } [Watch (2,0)] [iOS (8,0)] - [Static] - interface HKCategoryTypeIdentifierKey + enum HKCategoryTypeIdentifier { /**** HKCategoryType Identifiers ****/ [Field ("HKCategoryTypeIdentifierSleepAnalysis")] - NSString SleepAnalysis { get; } + SleepAnalysis, [iOS (9,0)] [Field ("HKCategoryTypeIdentifierAppleStandHour")] - NSString AppleStandHour { get; } + AppleStandHour, [iOS (9,0)] [Field ("HKCategoryTypeIdentifierCervicalMucusQuality")] - NSString CervicalMucusQuality { get; } + CervicalMucusQuality, [iOS (9,0)] [Field ("HKCategoryTypeIdentifierOvulationTestResult")] - NSString OvulationTestResult { get; } + OvulationTestResult, [iOS (9,0)] [Field ("HKCategoryTypeIdentifierMenstrualFlow")] - NSString MenstrualFlow { get; } + MenstrualFlow, [iOS (9,0)] [Field ("HKCategoryTypeIdentifierIntermenstrualBleeding")] - NSString IntermenstrualBleeding { get; } + IntermenstrualBleeding, [iOS (9,0)] [Field ("HKCategoryTypeIdentifierSexualActivity")] - NSString SexualActivity { get; } + SexualActivity, [iOS (10,0), Watch (3,0)] [Field ("HKCategoryTypeIdentifierMindfulSession")] - NSString MindfulSession { get; } - - // If you add fields, add them to the enum too. + MindfulSession, } [Watch (2,0)] [iOS (8,0)] - [Static] - interface HKCharacteristicTypeIdentifierKey + enum HKCharacteristicTypeIdentifier { /**** HKCharacteristicType Identifiers ****/ [Field ("HKCharacteristicTypeIdentifierBiologicalSex")] - NSString BiologicalSex { get; } + BiologicalSex, [Field ("HKCharacteristicTypeIdentifierBloodType")] - NSString BloodType { get; } + BloodType, [Field ("HKCharacteristicTypeIdentifierDateOfBirth")] - NSString DateOfBirth { get; } + DateOfBirth, [iOS (9,0)] [Field ("HKCharacteristicTypeIdentifierFitzpatrickSkinType")] - NSString FitzpatrickSkinType { get; } + FitzpatrickSkinType, [iOS (10,0), Watch (3,0)] [Field ("HKCharacteristicTypeIdentifierWheelchairUse")] - NSString WheelchairUse { get; } - - // If you add fields, add them to the enum too. + WheelchairUse, } [Watch (2,0)] diff --git a/tests/common/TestRuntime.cs b/tests/common/TestRuntime.cs index 308ca0b3026d..87166f61bca1 100644 --- a/tests/common/TestRuntime.cs +++ b/tests/common/TestRuntime.cs @@ -205,6 +205,18 @@ public static bool CheckXcodeVersion (int major, int minor, int build = 0) #else throw new NotImplementedException (); #endif + case 2: +#if __WATCHOS__ + return CheckWatchOSSystemVersion (4, 2); +#elif __TVOS__ + return ChecktvOSSystemVersion (11, 2); +#elif __IOS__ + return CheckiOSSystemVersion (11, 2); +#elif MONOMAC + return CheckMacSystemVersion (10, 13, 2); +#else + throw new NotImplementedException (); +#endif case 3: #if __WATCHOS__ return CheckWatchOSSystemVersion (4, 3); diff --git a/tests/monotouch-test/HealthKit/QuantityTypeIdentifierTest.cs b/tests/monotouch-test/HealthKit/QuantityTypeIdentifierTest.cs index 0a2b72aa650b..877977f45507 100644 --- a/tests/monotouch-test/HealthKit/QuantityTypeIdentifierTest.cs +++ b/tests/monotouch-test/HealthKit/QuantityTypeIdentifierTest.cs @@ -56,9 +56,17 @@ public void EnumValues_22351 () break; case HKQuantityTypeIdentifier.WaistCircumference: case HKQuantityTypeIdentifier.VO2Max: + case HKQuantityTypeIdentifier.InsulinDelivery: + case HKQuantityTypeIdentifier.RestingHeartRate: + case HKQuantityTypeIdentifier.WalkingHeartRateAverage: + case HKQuantityTypeIdentifier.HeartRateVariabilitySdnn: if (!TestRuntime.CheckXcodeVersion(9, 0)) continue; break; + case HKQuantityTypeIdentifier.DistanceDownhillSnowSports: + if (!TestRuntime.CheckXcodeVersion (9, 2)) + continue; + break; } try {