1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
/// An HKCorrelation is a collection of correlated objects.
///
/// When multiple readings are taken together, it may be beneficial to correlate them so that they can be
/// displayed together and share common metadata about how they were created.
///
/// For example, systolic and diastolic blood pressure readings are typically presented together so these
/// readings should be saved with a correlation of type blood pressure.
///
/// See also [Apple's documentation](https://developer.apple.com/documentation/healthkit/hkcorrelation?language=objc)
#[unsafe(super(HKSample, HKObject, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(all(feature = "HKObject", feature = "HKSample"))]
pub struct HKCorrelation;
);
#[cfg(all(feature = "HKObject", feature = "HKSample"))]
unsafe impl Send for HKCorrelation {}
#[cfg(all(feature = "HKObject", feature = "HKSample"))]
unsafe impl Sync for HKCorrelation {}
#[cfg(all(feature = "HKObject", feature = "HKSample"))]
extern_conformance!(
unsafe impl NSCoding for HKCorrelation {}
);
#[cfg(all(feature = "HKObject", feature = "HKSample"))]
extern_conformance!(
unsafe impl NSObjectProtocol for HKCorrelation {}
);
#[cfg(all(feature = "HKObject", feature = "HKSample"))]
extern_conformance!(
unsafe impl NSSecureCoding for HKCorrelation {}
);
#[cfg(all(feature = "HKObject", feature = "HKSample"))]
impl HKCorrelation {
extern_methods!(
#[cfg(feature = "HKObjectType")]
#[unsafe(method(correlationType))]
#[unsafe(method_family = none)]
pub unsafe fn correlationType(&self) -> Retained<HKCorrelationType>;
/// A set of HKSamples containing all of the objects that were saved with the receiver.
#[unsafe(method(objects))]
#[unsafe(method_family = none)]
pub unsafe fn objects(&self) -> Retained<NSSet<HKSample>>;
#[cfg(feature = "HKObjectType")]
/// Creates a new HKCorrelation with the given type, start date, end date, and objects.
///
/// objects must be a set of HKQuantitySamples and HKCategorySamples
#[unsafe(method(correlationWithType:startDate:endDate:objects:))]
#[unsafe(method_family = none)]
pub unsafe fn correlationWithType_startDate_endDate_objects(
correlation_type: &HKCorrelationType,
start_date: &NSDate,
end_date: &NSDate,
objects: &NSSet<HKSample>,
) -> Retained<Self>;
#[cfg(feature = "HKObjectType")]
/// Creates a new HKCorrelation with the given type, start date, end date, objects, and metadata.
///
/// objects must be a set of HKQuantitySamples and HKCategorySamples
///
/// # Safety
///
/// `metadata` generic should be of the correct type.
#[unsafe(method(correlationWithType:startDate:endDate:objects:metadata:))]
#[unsafe(method_family = none)]
pub unsafe fn correlationWithType_startDate_endDate_objects_metadata(
correlation_type: &HKCorrelationType,
start_date: &NSDate,
end_date: &NSDate,
objects: &NSSet<HKSample>,
metadata: Option<&NSDictionary<NSString, AnyObject>>,
) -> Retained<Self>;
#[cfg(all(feature = "HKDevice", feature = "HKObjectType"))]
/// Creates a new HKCorrelation with the given type, start date, end date, objects, and metadata.
///
/// Parameter `correlationType`: The correlation type of the objects set.
///
/// Parameter `startDate`: The start date of the correlation.
///
/// Parameter `endDate`: The end date of the correlation.
///
/// Parameter `device`: The HKDevice that generated the samples (optional).
///
/// Parameter `metadata`: Metadata for the correlation (optional).
///
/// objects must be a set of HKQuantitySamples and HKCategorySamples
///
/// # Safety
///
/// `metadata` generic should be of the correct type.
#[unsafe(method(correlationWithType:startDate:endDate:objects:device:metadata:))]
#[unsafe(method_family = none)]
pub unsafe fn correlationWithType_startDate_endDate_objects_device_metadata(
correlation_type: &HKCorrelationType,
start_date: &NSDate,
end_date: &NSDate,
objects: &NSSet<HKSample>,
device: Option<&HKDevice>,
metadata: Option<&NSDictionary<NSString, AnyObject>>,
) -> Retained<Self>;
#[cfg(feature = "HKObjectType")]
/// Returns the set of correlated objects with the specified type.
#[unsafe(method(objectsForType:))]
#[unsafe(method_family = none)]
pub unsafe fn objectsForType(
&self,
object_type: &HKObjectType,
) -> Retained<NSSet<HKSample>>;
);
}
/// Methods declared on superclass `HKObject`.
#[cfg(all(feature = "HKObject", feature = "HKSample"))]
impl HKCorrelation {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
);
}
/// Methods declared on superclass `NSObject`.
#[cfg(all(feature = "HKObject", feature = "HKSample"))]
impl HKCorrelation {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}