objc2_core_data/generated/
NSFetchRequest.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct NSFetchRequestResultType(pub NSUInteger);
15bitflags::bitflags! {
16 impl NSFetchRequestResultType: NSUInteger {
17 #[doc(alias = "NSManagedObjectResultType")]
18 const ManagedObjectResultType = 0x00;
19 #[doc(alias = "NSManagedObjectIDResultType")]
20 const ManagedObjectIDResultType = 0x01;
21 #[doc(alias = "NSDictionaryResultType")]
22 const DictionaryResultType = 0x02;
23 #[doc(alias = "NSCountResultType")]
24 const CountResultType = 0x04;
25 }
26}
27
28unsafe impl Encode for NSFetchRequestResultType {
29 const ENCODING: Encoding = NSUInteger::ENCODING;
30}
31
32unsafe impl RefEncode for NSFetchRequestResultType {
33 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
34}
35
36extern_protocol!(
37 pub unsafe trait NSFetchRequestResult: NSObjectProtocol {}
39);
40
41extern_conformance!(
42 unsafe impl NSFetchRequestResult for NSNumber {}
43);
44
45extern_conformance!(
46 unsafe impl NSFetchRequestResult for NSDictionary {}
47);
48
49#[cfg(feature = "NSManagedObject")]
51impl NSManagedObject {
52 extern_methods!();
53}
54
55#[cfg(feature = "NSManagedObject")]
56extern_conformance!(
57 unsafe impl NSFetchRequestResult for NSManagedObject {}
58);
59
60#[cfg(feature = "NSManagedObjectID")]
62impl NSManagedObjectID {
63 extern_methods!();
64}
65
66#[cfg(feature = "NSManagedObjectID")]
67extern_conformance!(
68 unsafe impl NSFetchRequestResult for NSManagedObjectID {}
69);
70
71extern_class!(
72 #[unsafe(super(NSPersistentStoreRequest, NSObject))]
74 #[derive(Debug, PartialEq, Eq, Hash)]
75 #[cfg(feature = "NSPersistentStoreRequest")]
76 pub struct NSFetchRequest<ResultType: ?Sized = AnyObject>;
77);
78
79#[cfg(feature = "NSPersistentStoreRequest")]
80impl<ResultType: ?Sized + Message + NSFetchRequestResult> NSFetchRequest<ResultType> {
81 #[inline]
87 pub unsafe fn cast_unchecked<NewResultType: ?Sized + Message + NSFetchRequestResult>(
88 &self,
89 ) -> &NSFetchRequest<NewResultType> {
90 unsafe { &*((self as *const Self).cast()) }
91 }
92}
93
94#[cfg(feature = "NSPersistentStoreRequest")]
95extern_conformance!(
96 unsafe impl<ResultType: ?Sized + NSCoding + NSFetchRequestResult> NSCoding
97 for NSFetchRequest<ResultType>
98 {
99 }
100);
101
102#[cfg(feature = "NSPersistentStoreRequest")]
103extern_conformance!(
104 unsafe impl<ResultType: ?Sized + NSFetchRequestResult> NSCopying for NSFetchRequest<ResultType> {}
105);
106
107#[cfg(feature = "NSPersistentStoreRequest")]
108unsafe impl<ResultType: ?Sized + Message + NSFetchRequestResult> CopyingHelper
109 for NSFetchRequest<ResultType>
110{
111 type Result = Self;
112}
113
114#[cfg(feature = "NSPersistentStoreRequest")]
115extern_conformance!(
116 unsafe impl<ResultType: ?Sized + NSFetchRequestResult> NSObjectProtocol
117 for NSFetchRequest<ResultType>
118 {
119 }
120);
121
122#[cfg(feature = "NSPersistentStoreRequest")]
123impl<ResultType: Message + NSFetchRequestResult> NSFetchRequest<ResultType> {
124 extern_methods!(
125 #[unsafe(method(fetchRequestWithEntityName:))]
126 #[unsafe(method_family = none)]
127 pub unsafe fn fetchRequestWithEntityName(entity_name: &NSString) -> Retained<Self>;
128
129 #[unsafe(method(init))]
130 #[unsafe(method_family = init)]
131 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
132
133 #[unsafe(method(initWithEntityName:))]
134 #[unsafe(method_family = init)]
135 pub unsafe fn initWithEntityName(
136 this: Allocated<Self>,
137 entity_name: &NSString,
138 ) -> Retained<Self>;
139
140 #[unsafe(method(execute:_))]
141 #[unsafe(method_family = none)]
142 pub unsafe fn execute(&self) -> Result<Retained<NSArray<ResultType>>, Retained<NSError>>;
143
144 #[cfg(feature = "NSEntityDescription")]
145 #[unsafe(method(entity))]
146 #[unsafe(method_family = none)]
147 pub unsafe fn entity(&self) -> Option<Retained<NSEntityDescription>>;
148
149 #[cfg(feature = "NSEntityDescription")]
150 #[unsafe(method(setEntity:))]
152 #[unsafe(method_family = none)]
153 pub unsafe fn setEntity(&self, entity: Option<&NSEntityDescription>);
154
155 #[unsafe(method(entityName))]
156 #[unsafe(method_family = none)]
157 pub unsafe fn entityName(&self) -> Option<Retained<NSString>>;
158
159 #[unsafe(method(predicate))]
160 #[unsafe(method_family = none)]
161 pub unsafe fn predicate(&self) -> Option<Retained<NSPredicate>>;
162
163 #[unsafe(method(setPredicate:))]
165 #[unsafe(method_family = none)]
166 pub unsafe fn setPredicate(&self, predicate: Option<&NSPredicate>);
167
168 #[unsafe(method(sortDescriptors))]
169 #[unsafe(method_family = none)]
170 pub unsafe fn sortDescriptors(&self) -> Option<Retained<NSArray<NSSortDescriptor>>>;
171
172 #[unsafe(method(setSortDescriptors:))]
174 #[unsafe(method_family = none)]
175 pub unsafe fn setSortDescriptors(
176 &self,
177 sort_descriptors: Option<&NSArray<NSSortDescriptor>>,
178 );
179
180 #[unsafe(method(fetchLimit))]
181 #[unsafe(method_family = none)]
182 pub unsafe fn fetchLimit(&self) -> NSUInteger;
183
184 #[unsafe(method(setFetchLimit:))]
186 #[unsafe(method_family = none)]
187 pub unsafe fn setFetchLimit(&self, fetch_limit: NSUInteger);
188
189 #[cfg(feature = "NSPersistentStore")]
190 #[unsafe(method(affectedStores))]
191 #[unsafe(method_family = none)]
192 pub unsafe fn affectedStores(&self) -> Option<Retained<NSArray<NSPersistentStore>>>;
193
194 #[cfg(feature = "NSPersistentStore")]
195 #[unsafe(method(setAffectedStores:))]
197 #[unsafe(method_family = none)]
198 pub unsafe fn setAffectedStores(
199 &self,
200 affected_stores: Option<&NSArray<NSPersistentStore>>,
201 );
202
203 #[unsafe(method(resultType))]
204 #[unsafe(method_family = none)]
205 pub unsafe fn resultType(&self) -> NSFetchRequestResultType;
206
207 #[unsafe(method(setResultType:))]
209 #[unsafe(method_family = none)]
210 pub unsafe fn setResultType(&self, result_type: NSFetchRequestResultType);
211
212 #[unsafe(method(includesSubentities))]
213 #[unsafe(method_family = none)]
214 pub unsafe fn includesSubentities(&self) -> bool;
215
216 #[unsafe(method(setIncludesSubentities:))]
218 #[unsafe(method_family = none)]
219 pub unsafe fn setIncludesSubentities(&self, includes_subentities: bool);
220
221 #[unsafe(method(includesPropertyValues))]
222 #[unsafe(method_family = none)]
223 pub unsafe fn includesPropertyValues(&self) -> bool;
224
225 #[unsafe(method(setIncludesPropertyValues:))]
227 #[unsafe(method_family = none)]
228 pub unsafe fn setIncludesPropertyValues(&self, includes_property_values: bool);
229
230 #[unsafe(method(returnsObjectsAsFaults))]
231 #[unsafe(method_family = none)]
232 pub unsafe fn returnsObjectsAsFaults(&self) -> bool;
233
234 #[unsafe(method(setReturnsObjectsAsFaults:))]
236 #[unsafe(method_family = none)]
237 pub unsafe fn setReturnsObjectsAsFaults(&self, returns_objects_as_faults: bool);
238
239 #[unsafe(method(relationshipKeyPathsForPrefetching))]
240 #[unsafe(method_family = none)]
241 pub unsafe fn relationshipKeyPathsForPrefetching(
242 &self,
243 ) -> Option<Retained<NSArray<NSString>>>;
244
245 #[unsafe(method(setRelationshipKeyPathsForPrefetching:))]
249 #[unsafe(method_family = none)]
250 pub unsafe fn setRelationshipKeyPathsForPrefetching(
251 &self,
252 relationship_key_paths_for_prefetching: Option<&NSArray<NSString>>,
253 );
254
255 #[unsafe(method(includesPendingChanges))]
256 #[unsafe(method_family = none)]
257 pub unsafe fn includesPendingChanges(&self) -> bool;
258
259 #[unsafe(method(setIncludesPendingChanges:))]
261 #[unsafe(method_family = none)]
262 pub unsafe fn setIncludesPendingChanges(&self, includes_pending_changes: bool);
263
264 #[unsafe(method(returnsDistinctResults))]
265 #[unsafe(method_family = none)]
266 pub unsafe fn returnsDistinctResults(&self) -> bool;
267
268 #[unsafe(method(setReturnsDistinctResults:))]
270 #[unsafe(method_family = none)]
271 pub unsafe fn setReturnsDistinctResults(&self, returns_distinct_results: bool);
272
273 #[unsafe(method(propertiesToFetch))]
274 #[unsafe(method_family = none)]
275 pub unsafe fn propertiesToFetch(&self) -> Option<Retained<NSArray>>;
276
277 #[unsafe(method(setPropertiesToFetch:))]
285 #[unsafe(method_family = none)]
286 pub unsafe fn setPropertiesToFetch(&self, properties_to_fetch: Option<&NSArray>);
287
288 #[unsafe(method(fetchOffset))]
289 #[unsafe(method_family = none)]
290 pub unsafe fn fetchOffset(&self) -> NSUInteger;
291
292 #[unsafe(method(setFetchOffset:))]
294 #[unsafe(method_family = none)]
295 pub unsafe fn setFetchOffset(&self, fetch_offset: NSUInteger);
296
297 #[unsafe(method(fetchBatchSize))]
298 #[unsafe(method_family = none)]
299 pub unsafe fn fetchBatchSize(&self) -> NSUInteger;
300
301 #[unsafe(method(setFetchBatchSize:))]
303 #[unsafe(method_family = none)]
304 pub unsafe fn setFetchBatchSize(&self, fetch_batch_size: NSUInteger);
305
306 #[unsafe(method(shouldRefreshRefetchedObjects))]
307 #[unsafe(method_family = none)]
308 pub unsafe fn shouldRefreshRefetchedObjects(&self) -> bool;
309
310 #[unsafe(method(setShouldRefreshRefetchedObjects:))]
312 #[unsafe(method_family = none)]
313 pub unsafe fn setShouldRefreshRefetchedObjects(
314 &self,
315 should_refresh_refetched_objects: bool,
316 );
317
318 #[unsafe(method(propertiesToGroupBy))]
319 #[unsafe(method_family = none)]
320 pub unsafe fn propertiesToGroupBy(&self) -> Option<Retained<NSArray>>;
321
322 #[unsafe(method(setPropertiesToGroupBy:))]
330 #[unsafe(method_family = none)]
331 pub unsafe fn setPropertiesToGroupBy(&self, properties_to_group_by: Option<&NSArray>);
332
333 #[unsafe(method(havingPredicate))]
334 #[unsafe(method_family = none)]
335 pub unsafe fn havingPredicate(&self) -> Option<Retained<NSPredicate>>;
336
337 #[unsafe(method(setHavingPredicate:))]
339 #[unsafe(method_family = none)]
340 pub unsafe fn setHavingPredicate(&self, having_predicate: Option<&NSPredicate>);
341 );
342}
343
344#[cfg(feature = "NSPersistentStoreRequest")]
346impl<ResultType: Message + NSFetchRequestResult> NSFetchRequest<ResultType> {
347 extern_methods!(
348 #[unsafe(method(new))]
349 #[unsafe(method_family = new)]
350 pub unsafe fn new() -> Retained<Self>;
351 );
352}
353
354#[cfg(all(feature = "NSPersistentStoreResult", feature = "block2"))]
356pub type NSPersistentStoreAsynchronousFetchResultCompletionBlock =
357 *mut block2::DynBlock<dyn Fn(NonNull<NSAsynchronousFetchResult>)>;
358
359extern_class!(
360 #[unsafe(super(NSPersistentStoreRequest, NSObject))]
362 #[derive(Debug, PartialEq, Eq, Hash)]
363 #[cfg(feature = "NSPersistentStoreRequest")]
364 pub struct NSAsynchronousFetchRequest<ResultType: ?Sized = AnyObject>;
365);
366
367#[cfg(feature = "NSPersistentStoreRequest")]
368impl<ResultType: ?Sized + Message + NSFetchRequestResult> NSAsynchronousFetchRequest<ResultType> {
369 #[inline]
375 pub unsafe fn cast_unchecked<NewResultType: ?Sized + Message + NSFetchRequestResult>(
376 &self,
377 ) -> &NSAsynchronousFetchRequest<NewResultType> {
378 unsafe { &*((self as *const Self).cast()) }
379 }
380}
381
382#[cfg(feature = "NSPersistentStoreRequest")]
383extern_conformance!(
384 unsafe impl<ResultType: ?Sized + NSFetchRequestResult> NSCopying
385 for NSAsynchronousFetchRequest<ResultType>
386 {
387 }
388);
389
390#[cfg(feature = "NSPersistentStoreRequest")]
391unsafe impl<ResultType: ?Sized + Message + NSFetchRequestResult> CopyingHelper
392 for NSAsynchronousFetchRequest<ResultType>
393{
394 type Result = Self;
395}
396
397#[cfg(feature = "NSPersistentStoreRequest")]
398extern_conformance!(
399 unsafe impl<ResultType: ?Sized + NSFetchRequestResult> NSObjectProtocol
400 for NSAsynchronousFetchRequest<ResultType>
401 {
402 }
403);
404
405#[cfg(feature = "NSPersistentStoreRequest")]
406impl<ResultType: Message + NSFetchRequestResult> NSAsynchronousFetchRequest<ResultType> {
407 extern_methods!(
408 #[unsafe(method(fetchRequest))]
409 #[unsafe(method_family = none)]
410 pub unsafe fn fetchRequest(&self) -> Retained<NSFetchRequest<ResultType>>;
411
412 #[cfg(all(feature = "NSPersistentStoreResult", feature = "block2"))]
413 #[unsafe(method(completionBlock))]
417 #[unsafe(method_family = none)]
418 pub unsafe fn completionBlock(
419 &self,
420 ) -> NSPersistentStoreAsynchronousFetchResultCompletionBlock;
421
422 #[unsafe(method(estimatedResultCount))]
423 #[unsafe(method_family = none)]
424 pub unsafe fn estimatedResultCount(&self) -> NSInteger;
425
426 #[unsafe(method(setEstimatedResultCount:))]
428 #[unsafe(method_family = none)]
429 pub unsafe fn setEstimatedResultCount(&self, estimated_result_count: NSInteger);
430
431 #[cfg(all(feature = "NSPersistentStoreResult", feature = "block2"))]
432 #[unsafe(method(initWithFetchRequest:completionBlock:))]
433 #[unsafe(method_family = init)]
434 pub unsafe fn initWithFetchRequest_completionBlock(
435 this: Allocated<Self>,
436 request: &NSFetchRequest<ResultType>,
437 blk: Option<&block2::DynBlock<dyn Fn(NonNull<NSAsynchronousFetchResult<ResultType>>)>>,
438 ) -> Retained<Self>;
439 );
440}
441
442#[cfg(feature = "NSPersistentStoreRequest")]
444impl<ResultType: Message + NSFetchRequestResult> NSAsynchronousFetchRequest<ResultType> {
445 extern_methods!(
446 #[unsafe(method(init))]
447 #[unsafe(method_family = init)]
448 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
449
450 #[unsafe(method(new))]
451 #[unsafe(method_family = new)]
452 pub unsafe fn new() -> Retained<Self>;
453 );
454}