objc2_health_kit/generated/
HKWorkout.rs1use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5use objc2_foundation::*;
6
7use crate::*;
8
9#[repr(transparent)]
14#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
15pub struct HKWorkoutActivityType(pub NSUInteger);
16impl HKWorkoutActivityType {
17 #[doc(alias = "HKWorkoutActivityTypeAmericanFootball")]
18 pub const AmericanFootball: Self = Self(1);
19 #[doc(alias = "HKWorkoutActivityTypeArchery")]
20 pub const Archery: Self = Self(2);
21 #[doc(alias = "HKWorkoutActivityTypeAustralianFootball")]
22 pub const AustralianFootball: Self = Self(3);
23 #[doc(alias = "HKWorkoutActivityTypeBadminton")]
24 pub const Badminton: Self = Self(4);
25 #[doc(alias = "HKWorkoutActivityTypeBaseball")]
26 pub const Baseball: Self = Self(5);
27 #[doc(alias = "HKWorkoutActivityTypeBasketball")]
28 pub const Basketball: Self = Self(6);
29 #[doc(alias = "HKWorkoutActivityTypeBowling")]
30 pub const Bowling: Self = Self(7);
31 #[doc(alias = "HKWorkoutActivityTypeBoxing")]
32 pub const Boxing: Self = Self(8);
33 #[doc(alias = "HKWorkoutActivityTypeClimbing")]
34 pub const Climbing: Self = Self(9);
35 #[doc(alias = "HKWorkoutActivityTypeCricket")]
36 pub const Cricket: Self = Self(10);
37 #[doc(alias = "HKWorkoutActivityTypeCrossTraining")]
38 pub const CrossTraining: Self = Self(11);
39 #[doc(alias = "HKWorkoutActivityTypeCurling")]
40 pub const Curling: Self = Self(12);
41 #[doc(alias = "HKWorkoutActivityTypeCycling")]
42 pub const Cycling: Self = Self(13);
43 #[doc(alias = "HKWorkoutActivityTypeDance")]
44 #[deprecated = "Use HKWorkoutActivityTypeSocialDance or HKWorkoutActivityTypeCardioDance"]
45 pub const Dance: Self = Self(14);
46 #[doc(alias = "HKWorkoutActivityTypeDanceInspiredTraining")]
47 #[deprecated = "Use HKWorkoutActivityTypeSocialDance, HKWorkoutActivityTypeCardioDance, HKWorkoutActivityTypeBarre or HKWorkoutActivityTypePilates"]
48 pub const DanceInspiredTraining: Self = Self(15);
49 #[doc(alias = "HKWorkoutActivityTypeElliptical")]
50 pub const Elliptical: Self = Self(16);
51 #[doc(alias = "HKWorkoutActivityTypeEquestrianSports")]
52 pub const EquestrianSports: Self = Self(17);
53 #[doc(alias = "HKWorkoutActivityTypeFencing")]
54 pub const Fencing: Self = Self(18);
55 #[doc(alias = "HKWorkoutActivityTypeFishing")]
56 pub const Fishing: Self = Self(19);
57 #[doc(alias = "HKWorkoutActivityTypeFunctionalStrengthTraining")]
58 pub const FunctionalStrengthTraining: Self = Self(20);
59 #[doc(alias = "HKWorkoutActivityTypeGolf")]
60 pub const Golf: Self = Self(21);
61 #[doc(alias = "HKWorkoutActivityTypeGymnastics")]
62 pub const Gymnastics: Self = Self(22);
63 #[doc(alias = "HKWorkoutActivityTypeHandball")]
64 pub const Handball: Self = Self(23);
65 #[doc(alias = "HKWorkoutActivityTypeHiking")]
66 pub const Hiking: Self = Self(24);
67 #[doc(alias = "HKWorkoutActivityTypeHockey")]
68 pub const Hockey: Self = Self(25);
69 #[doc(alias = "HKWorkoutActivityTypeHunting")]
70 pub const Hunting: Self = Self(26);
71 #[doc(alias = "HKWorkoutActivityTypeLacrosse")]
72 pub const Lacrosse: Self = Self(27);
73 #[doc(alias = "HKWorkoutActivityTypeMartialArts")]
74 pub const MartialArts: Self = Self(28);
75 #[doc(alias = "HKWorkoutActivityTypeMindAndBody")]
76 pub const MindAndBody: Self = Self(29);
77 #[doc(alias = "HKWorkoutActivityTypeMixedMetabolicCardioTraining")]
78 #[deprecated = "Use HKWorkoutActivityTypeMixedCardio or HKWorkoutActivityTypeHighIntensityIntervalTraining"]
79 pub const MixedMetabolicCardioTraining: Self = Self(30);
80 #[doc(alias = "HKWorkoutActivityTypePaddleSports")]
81 pub const PaddleSports: Self = Self(31);
82 #[doc(alias = "HKWorkoutActivityTypePlay")]
83 pub const Play: Self = Self(32);
84 #[doc(alias = "HKWorkoutActivityTypePreparationAndRecovery")]
85 pub const PreparationAndRecovery: Self = Self(33);
86 #[doc(alias = "HKWorkoutActivityTypeRacquetball")]
87 pub const Racquetball: Self = Self(34);
88 #[doc(alias = "HKWorkoutActivityTypeRowing")]
89 pub const Rowing: Self = Self(35);
90 #[doc(alias = "HKWorkoutActivityTypeRugby")]
91 pub const Rugby: Self = Self(36);
92 #[doc(alias = "HKWorkoutActivityTypeRunning")]
93 pub const Running: Self = Self(37);
94 #[doc(alias = "HKWorkoutActivityTypeSailing")]
95 pub const Sailing: Self = Self(38);
96 #[doc(alias = "HKWorkoutActivityTypeSkatingSports")]
97 pub const SkatingSports: Self = Self(39);
98 #[doc(alias = "HKWorkoutActivityTypeSnowSports")]
99 pub const SnowSports: Self = Self(40);
100 #[doc(alias = "HKWorkoutActivityTypeSoccer")]
101 pub const Soccer: Self = Self(41);
102 #[doc(alias = "HKWorkoutActivityTypeSoftball")]
103 pub const Softball: Self = Self(42);
104 #[doc(alias = "HKWorkoutActivityTypeSquash")]
105 pub const Squash: Self = Self(43);
106 #[doc(alias = "HKWorkoutActivityTypeStairClimbing")]
107 pub const StairClimbing: Self = Self(44);
108 #[doc(alias = "HKWorkoutActivityTypeSurfingSports")]
109 pub const SurfingSports: Self = Self(45);
110 #[doc(alias = "HKWorkoutActivityTypeSwimming")]
111 pub const Swimming: Self = Self(46);
112 #[doc(alias = "HKWorkoutActivityTypeTableTennis")]
113 pub const TableTennis: Self = Self(47);
114 #[doc(alias = "HKWorkoutActivityTypeTennis")]
115 pub const Tennis: Self = Self(48);
116 #[doc(alias = "HKWorkoutActivityTypeTrackAndField")]
117 pub const TrackAndField: Self = Self(49);
118 #[doc(alias = "HKWorkoutActivityTypeTraditionalStrengthTraining")]
119 pub const TraditionalStrengthTraining: Self = Self(50);
120 #[doc(alias = "HKWorkoutActivityTypeVolleyball")]
121 pub const Volleyball: Self = Self(51);
122 #[doc(alias = "HKWorkoutActivityTypeWalking")]
123 pub const Walking: Self = Self(52);
124 #[doc(alias = "HKWorkoutActivityTypeWaterFitness")]
125 pub const WaterFitness: Self = Self(53);
126 #[doc(alias = "HKWorkoutActivityTypeWaterPolo")]
127 pub const WaterPolo: Self = Self(54);
128 #[doc(alias = "HKWorkoutActivityTypeWaterSports")]
129 pub const WaterSports: Self = Self(55);
130 #[doc(alias = "HKWorkoutActivityTypeWrestling")]
131 pub const Wrestling: Self = Self(56);
132 #[doc(alias = "HKWorkoutActivityTypeYoga")]
133 pub const Yoga: Self = Self(57);
134 #[doc(alias = "HKWorkoutActivityTypeBarre")]
135 pub const Barre: Self = Self(58);
136 #[doc(alias = "HKWorkoutActivityTypeCoreTraining")]
137 pub const CoreTraining: Self = Self(59);
138 #[doc(alias = "HKWorkoutActivityTypeCrossCountrySkiing")]
139 pub const CrossCountrySkiing: Self = Self(60);
140 #[doc(alias = "HKWorkoutActivityTypeDownhillSkiing")]
141 pub const DownhillSkiing: Self = Self(61);
142 #[doc(alias = "HKWorkoutActivityTypeFlexibility")]
143 pub const Flexibility: Self = Self(62);
144 #[doc(alias = "HKWorkoutActivityTypeHighIntensityIntervalTraining")]
145 pub const HighIntensityIntervalTraining: Self = Self(63);
146 #[doc(alias = "HKWorkoutActivityTypeJumpRope")]
147 pub const JumpRope: Self = Self(64);
148 #[doc(alias = "HKWorkoutActivityTypeKickboxing")]
149 pub const Kickboxing: Self = Self(65);
150 #[doc(alias = "HKWorkoutActivityTypePilates")]
151 pub const Pilates: Self = Self(66);
152 #[doc(alias = "HKWorkoutActivityTypeSnowboarding")]
153 pub const Snowboarding: Self = Self(67);
154 #[doc(alias = "HKWorkoutActivityTypeStairs")]
155 pub const Stairs: Self = Self(68);
156 #[doc(alias = "HKWorkoutActivityTypeStepTraining")]
157 pub const StepTraining: Self = Self(69);
158 #[doc(alias = "HKWorkoutActivityTypeWheelchairWalkPace")]
159 pub const WheelchairWalkPace: Self = Self(70);
160 #[doc(alias = "HKWorkoutActivityTypeWheelchairRunPace")]
161 pub const WheelchairRunPace: Self = Self(71);
162 #[doc(alias = "HKWorkoutActivityTypeTaiChi")]
163 pub const TaiChi: Self = Self(72);
164 #[doc(alias = "HKWorkoutActivityTypeMixedCardio")]
165 pub const MixedCardio: Self = Self(73);
166 #[doc(alias = "HKWorkoutActivityTypeHandCycling")]
167 pub const HandCycling: Self = Self(74);
168 #[doc(alias = "HKWorkoutActivityTypeDiscSports")]
169 pub const DiscSports: Self = Self(75);
170 #[doc(alias = "HKWorkoutActivityTypeFitnessGaming")]
171 pub const FitnessGaming: Self = Self(76);
172 #[doc(alias = "HKWorkoutActivityTypeCardioDance")]
173 pub const CardioDance: Self = Self(77);
174 #[doc(alias = "HKWorkoutActivityTypeSocialDance")]
175 pub const SocialDance: Self = Self(78);
176 #[doc(alias = "HKWorkoutActivityTypePickleball")]
177 pub const Pickleball: Self = Self(79);
178 #[doc(alias = "HKWorkoutActivityTypeCooldown")]
179 pub const Cooldown: Self = Self(80);
180 #[doc(alias = "HKWorkoutActivityTypeSwimBikeRun")]
181 pub const SwimBikeRun: Self = Self(82);
182 #[doc(alias = "HKWorkoutActivityTypeTransition")]
183 pub const Transition: Self = Self(83);
184 #[doc(alias = "HKWorkoutActivityTypeUnderwaterDiving")]
185 pub const UnderwaterDiving: Self = Self(84);
186 #[doc(alias = "HKWorkoutActivityTypeOther")]
187 pub const Other: Self = Self(3000);
188}
189
190unsafe impl Encode for HKWorkoutActivityType {
191 const ENCODING: Encoding = NSUInteger::ENCODING;
192}
193
194unsafe impl RefEncode for HKWorkoutActivityType {
195 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
196}
197
198#[repr(transparent)]
201#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
202pub struct HKWorkoutEventType(pub NSInteger);
203impl HKWorkoutEventType {
204 #[doc(alias = "HKWorkoutEventTypePause")]
205 pub const Pause: Self = Self(1);
206 #[doc(alias = "HKWorkoutEventTypeResume")]
207 pub const Resume: Self = Self(2);
208 #[doc(alias = "HKWorkoutEventTypeLap")]
209 pub const Lap: Self = Self(3);
210 #[doc(alias = "HKWorkoutEventTypeMarker")]
211 pub const Marker: Self = Self(4);
212 #[doc(alias = "HKWorkoutEventTypeMotionPaused")]
213 pub const MotionPaused: Self = Self(5);
214 #[doc(alias = "HKWorkoutEventTypeMotionResumed")]
215 pub const MotionResumed: Self = Self(6);
216 #[doc(alias = "HKWorkoutEventTypeSegment")]
217 pub const Segment: Self = Self(7);
218 #[doc(alias = "HKWorkoutEventTypePauseOrResumeRequest")]
219 pub const PauseOrResumeRequest: Self = Self(8);
220}
221
222unsafe impl Encode for HKWorkoutEventType {
223 const ENCODING: Encoding = NSInteger::ENCODING;
224}
225
226unsafe impl RefEncode for HKWorkoutEventType {
227 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
228}
229
230extern_class!(
231 #[unsafe(super(NSObject))]
235 #[derive(Debug, PartialEq, Eq, Hash)]
236 pub struct HKWorkoutEvent;
237);
238
239unsafe impl Send for HKWorkoutEvent {}
240
241unsafe impl Sync for HKWorkoutEvent {}
242
243extern_conformance!(
244 unsafe impl NSCoding for HKWorkoutEvent {}
245);
246
247extern_conformance!(
248 unsafe impl NSCopying for HKWorkoutEvent {}
249);
250
251unsafe impl CopyingHelper for HKWorkoutEvent {
252 type Result = Self;
253}
254
255extern_conformance!(
256 unsafe impl NSObjectProtocol for HKWorkoutEvent {}
257);
258
259extern_conformance!(
260 unsafe impl NSSecureCoding for HKWorkoutEvent {}
261);
262
263impl HKWorkoutEvent {
264 extern_methods!(
265 #[unsafe(method(type))]
267 #[unsafe(method_family = none)]
268 pub unsafe fn r#type(&self) -> HKWorkoutEventType;
269
270 #[deprecated]
271 #[unsafe(method(date))]
272 #[unsafe(method_family = none)]
273 pub unsafe fn date(&self) -> Retained<NSDate>;
274
275 #[unsafe(method(dateInterval))]
280 #[unsafe(method_family = none)]
281 pub unsafe fn dateInterval(&self) -> Retained<NSDateInterval>;
282
283 #[unsafe(method(metadata))]
288 #[unsafe(method_family = none)]
289 pub unsafe fn metadata(&self) -> Option<Retained<NSDictionary<NSString, AnyObject>>>;
290
291 #[deprecated]
292 #[unsafe(method(workoutEventWithType:date:))]
293 #[unsafe(method_family = none)]
294 pub unsafe fn workoutEventWithType_date(
295 r#type: HKWorkoutEventType,
296 date: &NSDate,
297 ) -> Retained<Self>;
298
299 #[deprecated]
303 #[unsafe(method(workoutEventWithType:date:metadata:))]
304 #[unsafe(method_family = none)]
305 pub unsafe fn workoutEventWithType_date_metadata(
306 r#type: HKWorkoutEventType,
307 date: &NSDate,
308 metadata: &NSDictionary<NSString, AnyObject>,
309 ) -> Retained<Self>;
310
311 #[unsafe(method(workoutEventWithType:dateInterval:metadata:))]
323 #[unsafe(method_family = none)]
324 pub unsafe fn workoutEventWithType_dateInterval_metadata(
325 r#type: HKWorkoutEventType,
326 date_interval: &NSDateInterval,
327 metadata: Option<&NSDictionary<NSString, AnyObject>>,
328 ) -> Retained<Self>;
329
330 #[unsafe(method(init))]
331 #[unsafe(method_family = init)]
332 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
333 );
334}
335
336impl HKWorkoutEvent {
338 extern_methods!(
339 #[unsafe(method(new))]
340 #[unsafe(method_family = new)]
341 pub unsafe fn new() -> Retained<Self>;
342 );
343}
344
345extern_class!(
346 #[unsafe(super(HKSample, HKObject, NSObject))]
350 #[derive(Debug, PartialEq, Eq, Hash)]
351 #[cfg(all(feature = "HKObject", feature = "HKSample"))]
352 pub struct HKWorkout;
353);
354
355#[cfg(all(feature = "HKObject", feature = "HKSample"))]
356unsafe impl Send for HKWorkout {}
357
358#[cfg(all(feature = "HKObject", feature = "HKSample"))]
359unsafe impl Sync for HKWorkout {}
360
361#[cfg(all(feature = "HKObject", feature = "HKSample"))]
362extern_conformance!(
363 unsafe impl NSCoding for HKWorkout {}
364);
365
366#[cfg(all(feature = "HKObject", feature = "HKSample"))]
367extern_conformance!(
368 unsafe impl NSObjectProtocol for HKWorkout {}
369);
370
371#[cfg(all(feature = "HKObject", feature = "HKSample"))]
372extern_conformance!(
373 unsafe impl NSSecureCoding for HKWorkout {}
374);
375
376#[cfg(all(feature = "HKObject", feature = "HKSample"))]
377impl HKWorkout {
378 extern_methods!(
379 #[unsafe(method(workoutActivityType))]
381 #[unsafe(method_family = none)]
382 pub unsafe fn workoutActivityType(&self) -> HKWorkoutActivityType;
383
384 #[unsafe(method(workoutEvents))]
390 #[unsafe(method_family = none)]
391 pub unsafe fn workoutEvents(&self) -> Option<Retained<NSArray<HKWorkoutEvent>>>;
392
393 #[cfg(feature = "HKWorkoutActivity")]
394 #[unsafe(method(workoutActivities))]
399 #[unsafe(method_family = none)]
400 pub unsafe fn workoutActivities(&self) -> Retained<NSArray<HKWorkoutActivity>>;
401
402 #[unsafe(method(duration))]
407 #[unsafe(method_family = none)]
408 pub unsafe fn duration(&self) -> NSTimeInterval;
409
410 #[cfg(feature = "HKQuantity")]
411 #[deprecated = "Use statisticsForType: passing the HKQuantityType for HKQuantityTypeIdentifierActiveEnergyBurned"]
416 #[unsafe(method(totalEnergyBurned))]
417 #[unsafe(method_family = none)]
418 pub unsafe fn totalEnergyBurned(&self) -> Option<Retained<HKQuantity>>;
419
420 #[cfg(feature = "HKQuantity")]
421 #[deprecated = "Use statisticsForType: passing the HKQuantityType for the desired distance type"]
426 #[unsafe(method(totalDistance))]
427 #[unsafe(method_family = none)]
428 pub unsafe fn totalDistance(&self) -> Option<Retained<HKQuantity>>;
429
430 #[cfg(feature = "HKQuantity")]
431 #[deprecated = "Use statisticsForType: passing the HKQuantityType for HKQuantityTypeIdentifierSwimmingStrokeCount"]
436 #[unsafe(method(totalSwimmingStrokeCount))]
437 #[unsafe(method_family = none)]
438 pub unsafe fn totalSwimmingStrokeCount(&self) -> Option<Retained<HKQuantity>>;
439
440 #[cfg(feature = "HKQuantity")]
441 #[deprecated = "Use statisticsForType: passing the HKQuantityType for HKQuantityTypeIdentifierFlightClimbed"]
446 #[unsafe(method(totalFlightsClimbed))]
447 #[unsafe(method_family = none)]
448 pub unsafe fn totalFlightsClimbed(&self) -> Option<Retained<HKQuantity>>;
449
450 #[cfg(all(feature = "HKObjectType", feature = "HKStatistics"))]
451 #[unsafe(method(allStatistics))]
456 #[unsafe(method_family = none)]
457 pub unsafe fn allStatistics(&self) -> Retained<NSDictionary<HKQuantityType, HKStatistics>>;
458
459 #[cfg(all(feature = "HKObjectType", feature = "HKStatistics"))]
460 #[unsafe(method(statisticsForType:))]
466 #[unsafe(method_family = none)]
467 pub unsafe fn statisticsForType(
468 &self,
469 quantity_type: &HKQuantityType,
470 ) -> Option<Retained<HKStatistics>>;
471
472 #[deprecated = "Use HKWorkoutBuilder"]
478 #[unsafe(method(workoutWithActivityType:startDate:endDate:))]
479 #[unsafe(method_family = none)]
480 pub unsafe fn workoutWithActivityType_startDate_endDate(
481 workout_activity_type: HKWorkoutActivityType,
482 start_date: &NSDate,
483 end_date: &NSDate,
484 ) -> Retained<Self>;
485
486 #[cfg(feature = "HKQuantity")]
487 #[deprecated = "Use HKWorkoutBuilder"]
509 #[unsafe(method(workoutWithActivityType:startDate:endDate:workoutEvents:totalEnergyBurned:totalDistance:metadata:))]
510 #[unsafe(method_family = none)]
511 pub unsafe fn workoutWithActivityType_startDate_endDate_workoutEvents_totalEnergyBurned_totalDistance_metadata(
512 workout_activity_type: HKWorkoutActivityType,
513 start_date: &NSDate,
514 end_date: &NSDate,
515 workout_events: Option<&NSArray<HKWorkoutEvent>>,
516 total_energy_burned: Option<&HKQuantity>,
517 total_distance: Option<&HKQuantity>,
518 metadata: Option<&NSDictionary<NSString, AnyObject>>,
519 ) -> Retained<Self>;
520
521 #[cfg(all(feature = "HKDevice", feature = "HKQuantity"))]
522 #[deprecated = "Use HKWorkoutBuilder"]
546 #[unsafe(method(workoutWithActivityType:startDate:endDate:workoutEvents:totalEnergyBurned:totalDistance:device:metadata:))]
547 #[unsafe(method_family = none)]
548 pub unsafe fn workoutWithActivityType_startDate_endDate_workoutEvents_totalEnergyBurned_totalDistance_device_metadata(
549 workout_activity_type: HKWorkoutActivityType,
550 start_date: &NSDate,
551 end_date: &NSDate,
552 workout_events: Option<&NSArray<HKWorkoutEvent>>,
553 total_energy_burned: Option<&HKQuantity>,
554 total_distance: Option<&HKQuantity>,
555 device: Option<&HKDevice>,
556 metadata: Option<&NSDictionary<NSString, AnyObject>>,
557 ) -> Retained<Self>;
558
559 #[cfg(feature = "HKQuantity")]
560 #[deprecated = "Use HKWorkoutBuilder"]
582 #[unsafe(method(workoutWithActivityType:startDate:endDate:duration:totalEnergyBurned:totalDistance:metadata:))]
583 #[unsafe(method_family = none)]
584 pub unsafe fn workoutWithActivityType_startDate_endDate_duration_totalEnergyBurned_totalDistance_metadata(
585 workout_activity_type: HKWorkoutActivityType,
586 start_date: &NSDate,
587 end_date: &NSDate,
588 duration: NSTimeInterval,
589 total_energy_burned: Option<&HKQuantity>,
590 total_distance: Option<&HKQuantity>,
591 metadata: Option<&NSDictionary<NSString, AnyObject>>,
592 ) -> Retained<Self>;
593
594 #[cfg(all(feature = "HKDevice", feature = "HKQuantity"))]
595 #[deprecated = "Use HKWorkoutBuilder"]
619 #[unsafe(method(workoutWithActivityType:startDate:endDate:duration:totalEnergyBurned:totalDistance:device:metadata:))]
620 #[unsafe(method_family = none)]
621 pub unsafe fn workoutWithActivityType_startDate_endDate_duration_totalEnergyBurned_totalDistance_device_metadata(
622 workout_activity_type: HKWorkoutActivityType,
623 start_date: &NSDate,
624 end_date: &NSDate,
625 duration: NSTimeInterval,
626 total_energy_burned: Option<&HKQuantity>,
627 total_distance: Option<&HKQuantity>,
628 device: Option<&HKDevice>,
629 metadata: Option<&NSDictionary<NSString, AnyObject>>,
630 ) -> Retained<Self>;
631
632 #[cfg(all(feature = "HKDevice", feature = "HKQuantity"))]
633 #[deprecated = "Use HKWorkoutBuilder"]
659 #[unsafe(method(workoutWithActivityType:startDate:endDate:workoutEvents:totalEnergyBurned:totalDistance:totalSwimmingStrokeCount:device:metadata:))]
660 #[unsafe(method_family = none)]
661 pub unsafe fn workoutWithActivityType_startDate_endDate_workoutEvents_totalEnergyBurned_totalDistance_totalSwimmingStrokeCount_device_metadata(
662 workout_activity_type: HKWorkoutActivityType,
663 start_date: &NSDate,
664 end_date: &NSDate,
665 workout_events: Option<&NSArray<HKWorkoutEvent>>,
666 total_energy_burned: Option<&HKQuantity>,
667 total_distance: Option<&HKQuantity>,
668 total_swimming_stroke_count: Option<&HKQuantity>,
669 device: Option<&HKDevice>,
670 metadata: Option<&NSDictionary<NSString, AnyObject>>,
671 ) -> Retained<Self>;
672
673 #[cfg(all(feature = "HKDevice", feature = "HKQuantity"))]
674 #[deprecated = "Use HKWorkoutBuilder"]
701 #[unsafe(method(workoutWithActivityType:startDate:endDate:workoutEvents:totalEnergyBurned:totalDistance:totalFlightsClimbed:device:metadata:))]
702 #[unsafe(method_family = none)]
703 pub unsafe fn workoutWithActivityType_startDate_endDate_workoutEvents_totalEnergyBurned_totalDistance_totalFlightsClimbed_device_metadata(
704 workout_activity_type: HKWorkoutActivityType,
705 start_date: &NSDate,
706 end_date: &NSDate,
707 workout_events: Option<&NSArray<HKWorkoutEvent>>,
708 total_energy_burned: Option<&HKQuantity>,
709 total_distance: Option<&HKQuantity>,
710 total_flights_climbed: Option<&HKQuantity>,
711 device: Option<&HKDevice>,
712 metadata: Option<&NSDictionary<NSString, AnyObject>>,
713 ) -> Retained<Self>;
714 );
715}
716
717#[cfg(all(feature = "HKObject", feature = "HKSample"))]
719impl HKWorkout {
720 extern_methods!(
721 #[unsafe(method(init))]
722 #[unsafe(method_family = init)]
723 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
724 );
725}
726
727#[cfg(all(feature = "HKObject", feature = "HKSample"))]
729impl HKWorkout {
730 extern_methods!(
731 #[unsafe(method(new))]
732 #[unsafe(method_family = new)]
733 pub unsafe fn new() -> Retained<Self>;
734 );
735}
736
737extern "C" {
738 pub static HKPredicateKeyPathWorkoutDuration: &'static NSString;
740}
741
742extern "C" {
743 #[deprecated = "Use predicateForWorkoutActivitiesWithOperatorType:quantityType:sumQuantity: passing the HKQuantityType for the desired distance type"]
745 pub static HKPredicateKeyPathWorkoutTotalDistance: &'static NSString;
746}
747
748extern "C" {
749 #[deprecated = "Use predicateForWorkoutActivitiesWithOperatorType:quantityType:sumQuantity: passing the HKQuantityType for HKQuantityTypeIdentifierActiveEnergyBurned"]
751 pub static HKPredicateKeyPathWorkoutTotalEnergyBurned: &'static NSString;
752}
753
754extern "C" {
755 pub static HKPredicateKeyPathWorkoutType: &'static NSString;
757}
758
759extern "C" {
760 #[deprecated = "Use predicateForWorkoutActivitiesWithOperatorType:quantityType:sumQuantity: passing the HKQuantityType for HKQuantityTypeIdentifierSwimmingStrokeCount"]
762 pub static HKPredicateKeyPathWorkoutTotalSwimmingStrokeCount: &'static NSString;
763}
764
765extern "C" {
766 #[deprecated = "Use predicateForWorkoutActivitiesWithOperatorType:quantityType:sumQuantity: passing the HKQuantityType for HKQuantityTypeIdentifierFlightsClimbed"]
768 pub static HKPredicateKeyPathWorkoutTotalFlightsClimbed: &'static NSString;
769}
770
771extern "C" {
772 pub static HKPredicateKeyPathWorkoutSumQuantity: &'static NSString;
774}
775
776extern "C" {
777 pub static HKPredicateKeyPathWorkoutMinimumQuantity: &'static NSString;
779}
780
781extern "C" {
782 pub static HKPredicateKeyPathWorkoutMaximumQuantity: &'static NSString;
784}
785
786extern "C" {
787 pub static HKPredicateKeyPathWorkoutAverageQuantity: &'static NSString;
789}
790
791extern "C" {
792 pub static HKPredicateKeyPathWorkoutActivity: &'static NSString;
794}
795
796extern "C" {
797 pub static HKWorkoutSortIdentifierDuration: &'static NSString;
799}
800
801extern "C" {
802 pub static HKWorkoutSortIdentifierTotalDistance: &'static NSString;
804}
805
806extern "C" {
807 pub static HKWorkoutSortIdentifierTotalEnergyBurned: &'static NSString;
809}
810
811extern "C" {
812 pub static HKWorkoutSortIdentifierTotalSwimmingStrokeCount: &'static NSString;
814}
815
816extern "C" {
817 pub static HKWorkoutSortIdentifierTotalFlightsClimbed: &'static NSString;
819}