1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9pub const NSNoSpecifierError: NSInteger = 0;
11pub const NSNoTopLevelContainersSpecifierError: NSInteger = 1;
13pub const NSContainerSpecifierError: NSInteger = 2;
15pub const NSUnknownKeySpecifierError: NSInteger = 3;
17pub const NSInvalidIndexSpecifierError: NSInteger = 4;
19pub const NSInternalSpecifierError: NSInteger = 5;
21pub const NSOperationNotSupportedForKeySpecifierError: NSInteger = 6;
23
24#[repr(transparent)]
27#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
28pub struct NSInsertionPosition(pub NSUInteger);
29impl NSInsertionPosition {
30 #[doc(alias = "NSPositionAfter")]
31 pub const PositionAfter: Self = Self(0);
32 #[doc(alias = "NSPositionBefore")]
33 pub const PositionBefore: Self = Self(1);
34 #[doc(alias = "NSPositionBeginning")]
35 pub const PositionBeginning: Self = Self(2);
36 #[doc(alias = "NSPositionEnd")]
37 pub const PositionEnd: Self = Self(3);
38 #[doc(alias = "NSPositionReplace")]
39 pub const PositionReplace: Self = Self(4);
40}
41
42unsafe impl Encode for NSInsertionPosition {
43 const ENCODING: Encoding = NSUInteger::ENCODING;
44}
45
46unsafe impl RefEncode for NSInsertionPosition {
47 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
48}
49
50#[repr(transparent)]
53#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
54pub struct NSRelativePosition(pub NSUInteger);
55impl NSRelativePosition {
56 #[doc(alias = "NSRelativeAfter")]
57 pub const After: Self = Self(0);
58 #[doc(alias = "NSRelativeBefore")]
59 pub const Before: Self = Self(1);
60}
61
62unsafe impl Encode for NSRelativePosition {
63 const ENCODING: Encoding = NSUInteger::ENCODING;
64}
65
66unsafe impl RefEncode for NSRelativePosition {
67 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
68}
69
70#[repr(transparent)]
73#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
74pub struct NSWhoseSubelementIdentifier(pub NSUInteger);
75impl NSWhoseSubelementIdentifier {
76 #[doc(alias = "NSIndexSubelement")]
77 pub const IndexSubelement: Self = Self(0);
78 #[doc(alias = "NSEverySubelement")]
79 pub const EverySubelement: Self = Self(1);
80 #[doc(alias = "NSMiddleSubelement")]
81 pub const MiddleSubelement: Self = Self(2);
82 #[doc(alias = "NSRandomSubelement")]
83 pub const RandomSubelement: Self = Self(3);
84 #[doc(alias = "NSNoSubelement")]
85 pub const NoSubelement: Self = Self(4);
86}
87
88unsafe impl Encode for NSWhoseSubelementIdentifier {
89 const ENCODING: Encoding = NSUInteger::ENCODING;
90}
91
92unsafe impl RefEncode for NSWhoseSubelementIdentifier {
93 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
94}
95
96extern_class!(
97 #[unsafe(super(NSObject))]
99 #[derive(Debug, PartialEq, Eq, Hash)]
100 pub struct NSScriptObjectSpecifier;
101);
102
103#[cfg(feature = "NSObject")]
104unsafe impl NSCoding for NSScriptObjectSpecifier {}
105
106unsafe impl NSObjectProtocol for NSScriptObjectSpecifier {}
107
108impl NSScriptObjectSpecifier {
109 extern_methods!(
110 #[cfg(feature = "NSAppleEventDescriptor")]
111 #[unsafe(method(objectSpecifierWithDescriptor:))]
112 #[unsafe(method_family = none)]
113 pub unsafe fn objectSpecifierWithDescriptor(
114 descriptor: &NSAppleEventDescriptor,
115 ) -> Option<Retained<NSScriptObjectSpecifier>>;
116
117 #[cfg(feature = "NSString")]
118 #[unsafe(method(initWithContainerSpecifier:key:))]
119 #[unsafe(method_family = init)]
120 pub unsafe fn initWithContainerSpecifier_key(
121 this: Allocated<Self>,
122 container: &NSScriptObjectSpecifier,
123 property: &NSString,
124 ) -> Retained<Self>;
125
126 #[cfg(all(
127 feature = "NSClassDescription",
128 feature = "NSScriptClassDescription",
129 feature = "NSString"
130 ))]
131 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
132 #[unsafe(method_family = init)]
133 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
134 this: Allocated<Self>,
135 class_desc: &NSScriptClassDescription,
136 container: Option<&NSScriptObjectSpecifier>,
137 property: &NSString,
138 ) -> Retained<Self>;
139
140 #[cfg(feature = "NSCoder")]
141 #[unsafe(method(initWithCoder:))]
142 #[unsafe(method_family = init)]
143 pub unsafe fn initWithCoder(
144 this: Allocated<Self>,
145 in_coder: &NSCoder,
146 ) -> Option<Retained<Self>>;
147
148 #[unsafe(method(childSpecifier))]
149 #[unsafe(method_family = none)]
150 pub unsafe fn childSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
151
152 #[unsafe(method(setChildSpecifier:))]
154 #[unsafe(method_family = none)]
155 pub unsafe fn setChildSpecifier(&self, child_specifier: Option<&NSScriptObjectSpecifier>);
156
157 #[unsafe(method(containerSpecifier))]
158 #[unsafe(method_family = none)]
159 pub unsafe fn containerSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
160
161 #[unsafe(method(setContainerSpecifier:))]
163 #[unsafe(method_family = none)]
164 pub unsafe fn setContainerSpecifier(
165 &self,
166 container_specifier: Option<&NSScriptObjectSpecifier>,
167 );
168
169 #[unsafe(method(containerIsObjectBeingTested))]
170 #[unsafe(method_family = none)]
171 pub unsafe fn containerIsObjectBeingTested(&self) -> bool;
172
173 #[unsafe(method(setContainerIsObjectBeingTested:))]
175 #[unsafe(method_family = none)]
176 pub unsafe fn setContainerIsObjectBeingTested(
177 &self,
178 container_is_object_being_tested: bool,
179 );
180
181 #[unsafe(method(containerIsRangeContainerObject))]
182 #[unsafe(method_family = none)]
183 pub unsafe fn containerIsRangeContainerObject(&self) -> bool;
184
185 #[unsafe(method(setContainerIsRangeContainerObject:))]
187 #[unsafe(method_family = none)]
188 pub unsafe fn setContainerIsRangeContainerObject(
189 &self,
190 container_is_range_container_object: bool,
191 );
192
193 #[cfg(feature = "NSString")]
194 #[unsafe(method(key))]
195 #[unsafe(method_family = none)]
196 pub unsafe fn key(&self) -> Retained<NSString>;
197
198 #[cfg(feature = "NSString")]
199 #[unsafe(method(setKey:))]
201 #[unsafe(method_family = none)]
202 pub unsafe fn setKey(&self, key: &NSString);
203
204 #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
205 #[unsafe(method(containerClassDescription))]
206 #[unsafe(method_family = none)]
207 pub unsafe fn containerClassDescription(
208 &self,
209 ) -> Option<Retained<NSScriptClassDescription>>;
210
211 #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
212 #[unsafe(method(setContainerClassDescription:))]
214 #[unsafe(method_family = none)]
215 pub unsafe fn setContainerClassDescription(
216 &self,
217 container_class_description: Option<&NSScriptClassDescription>,
218 );
219
220 #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
221 #[unsafe(method(keyClassDescription))]
222 #[unsafe(method_family = none)]
223 pub unsafe fn keyClassDescription(&self) -> Option<Retained<NSScriptClassDescription>>;
224
225 #[unsafe(method(indicesOfObjectsByEvaluatingWithContainer:count:))]
226 #[unsafe(method_family = none)]
227 pub unsafe fn indicesOfObjectsByEvaluatingWithContainer_count(
228 &self,
229 container: &AnyObject,
230 count: NonNull<NSInteger>,
231 ) -> *mut NSInteger;
232
233 #[unsafe(method(objectsByEvaluatingWithContainers:))]
234 #[unsafe(method_family = none)]
235 pub unsafe fn objectsByEvaluatingWithContainers(
236 &self,
237 containers: &AnyObject,
238 ) -> Option<Retained<AnyObject>>;
239
240 #[unsafe(method(objectsByEvaluatingSpecifier))]
241 #[unsafe(method_family = none)]
242 pub unsafe fn objectsByEvaluatingSpecifier(&self) -> Option<Retained<AnyObject>>;
243
244 #[unsafe(method(evaluationErrorNumber))]
245 #[unsafe(method_family = none)]
246 pub unsafe fn evaluationErrorNumber(&self) -> NSInteger;
247
248 #[unsafe(method(setEvaluationErrorNumber:))]
250 #[unsafe(method_family = none)]
251 pub unsafe fn setEvaluationErrorNumber(&self, evaluation_error_number: NSInteger);
252
253 #[unsafe(method(evaluationErrorSpecifier))]
254 #[unsafe(method_family = none)]
255 pub unsafe fn evaluationErrorSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
256
257 #[cfg(feature = "NSAppleEventDescriptor")]
258 #[unsafe(method(descriptor))]
259 #[unsafe(method_family = none)]
260 pub unsafe fn descriptor(&self) -> Option<Retained<NSAppleEventDescriptor>>;
261 );
262}
263
264impl NSScriptObjectSpecifier {
266 extern_methods!(
267 #[unsafe(method(init))]
268 #[unsafe(method_family = init)]
269 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
270
271 #[unsafe(method(new))]
272 #[unsafe(method_family = new)]
273 pub unsafe fn new() -> Retained<Self>;
274 );
275}
276
277mod private_NSObjectNSScriptObjectSpecifiers {
278 pub trait Sealed {}
279}
280
281#[doc(alias = "NSScriptObjectSpecifiers")]
283pub unsafe trait NSObjectNSScriptObjectSpecifiers:
284 ClassType + Sized + private_NSObjectNSScriptObjectSpecifiers::Sealed
285{
286 extern_methods!(
287 #[unsafe(method(objectSpecifier))]
288 #[unsafe(method_family = none)]
289 unsafe fn objectSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
290
291 #[cfg(all(feature = "NSArray", feature = "NSValue"))]
292 #[unsafe(method(indicesOfObjectsByEvaluatingObjectSpecifier:))]
293 #[unsafe(method_family = none)]
294 unsafe fn indicesOfObjectsByEvaluatingObjectSpecifier(
295 &self,
296 specifier: &NSScriptObjectSpecifier,
297 ) -> Option<Retained<NSArray<NSNumber>>>;
298 );
299}
300
301impl private_NSObjectNSScriptObjectSpecifiers::Sealed for NSObject {}
302unsafe impl NSObjectNSScriptObjectSpecifiers for NSObject {}
303
304extern_class!(
305 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
307 #[derive(Debug, PartialEq, Eq, Hash)]
308 pub struct NSIndexSpecifier;
309);
310
311#[cfg(feature = "NSObject")]
312unsafe impl NSCoding for NSIndexSpecifier {}
313
314unsafe impl NSObjectProtocol for NSIndexSpecifier {}
315
316impl NSIndexSpecifier {
317 extern_methods!(
318 #[cfg(all(
319 feature = "NSClassDescription",
320 feature = "NSScriptClassDescription",
321 feature = "NSString"
322 ))]
323 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:index:))]
324 #[unsafe(method_family = init)]
325 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_index(
326 this: Allocated<Self>,
327 class_desc: &NSScriptClassDescription,
328 container: Option<&NSScriptObjectSpecifier>,
329 property: &NSString,
330 index: NSInteger,
331 ) -> Retained<Self>;
332
333 #[unsafe(method(index))]
334 #[unsafe(method_family = none)]
335 pub unsafe fn index(&self) -> NSInteger;
336
337 #[unsafe(method(setIndex:))]
339 #[unsafe(method_family = none)]
340 pub unsafe fn setIndex(&self, index: NSInteger);
341 );
342}
343
344impl NSIndexSpecifier {
346 extern_methods!(
347 #[cfg(feature = "NSString")]
348 #[unsafe(method(initWithContainerSpecifier:key:))]
349 #[unsafe(method_family = init)]
350 pub unsafe fn initWithContainerSpecifier_key(
351 this: Allocated<Self>,
352 container: &NSScriptObjectSpecifier,
353 property: &NSString,
354 ) -> Retained<Self>;
355
356 #[cfg(all(
357 feature = "NSClassDescription",
358 feature = "NSScriptClassDescription",
359 feature = "NSString"
360 ))]
361 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
362 #[unsafe(method_family = init)]
363 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
364 this: Allocated<Self>,
365 class_desc: &NSScriptClassDescription,
366 container: Option<&NSScriptObjectSpecifier>,
367 property: &NSString,
368 ) -> Retained<Self>;
369
370 #[cfg(feature = "NSCoder")]
371 #[unsafe(method(initWithCoder:))]
372 #[unsafe(method_family = init)]
373 pub unsafe fn initWithCoder(
374 this: Allocated<Self>,
375 in_coder: &NSCoder,
376 ) -> Option<Retained<Self>>;
377 );
378}
379
380impl NSIndexSpecifier {
382 extern_methods!(
383 #[unsafe(method(init))]
384 #[unsafe(method_family = init)]
385 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
386
387 #[unsafe(method(new))]
388 #[unsafe(method_family = new)]
389 pub unsafe fn new() -> Retained<Self>;
390 );
391}
392
393extern_class!(
394 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
396 #[derive(Debug, PartialEq, Eq, Hash)]
397 pub struct NSMiddleSpecifier;
398);
399
400#[cfg(feature = "NSObject")]
401unsafe impl NSCoding for NSMiddleSpecifier {}
402
403unsafe impl NSObjectProtocol for NSMiddleSpecifier {}
404
405impl NSMiddleSpecifier {
406 extern_methods!();
407}
408
409impl NSMiddleSpecifier {
411 extern_methods!(
412 #[cfg(feature = "NSString")]
413 #[unsafe(method(initWithContainerSpecifier:key:))]
414 #[unsafe(method_family = init)]
415 pub unsafe fn initWithContainerSpecifier_key(
416 this: Allocated<Self>,
417 container: &NSScriptObjectSpecifier,
418 property: &NSString,
419 ) -> Retained<Self>;
420
421 #[cfg(all(
422 feature = "NSClassDescription",
423 feature = "NSScriptClassDescription",
424 feature = "NSString"
425 ))]
426 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
427 #[unsafe(method_family = init)]
428 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
429 this: Allocated<Self>,
430 class_desc: &NSScriptClassDescription,
431 container: Option<&NSScriptObjectSpecifier>,
432 property: &NSString,
433 ) -> Retained<Self>;
434
435 #[cfg(feature = "NSCoder")]
436 #[unsafe(method(initWithCoder:))]
437 #[unsafe(method_family = init)]
438 pub unsafe fn initWithCoder(
439 this: Allocated<Self>,
440 in_coder: &NSCoder,
441 ) -> Option<Retained<Self>>;
442 );
443}
444
445impl NSMiddleSpecifier {
447 extern_methods!(
448 #[unsafe(method(init))]
449 #[unsafe(method_family = init)]
450 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
451
452 #[unsafe(method(new))]
453 #[unsafe(method_family = new)]
454 pub unsafe fn new() -> Retained<Self>;
455 );
456}
457
458extern_class!(
459 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
461 #[derive(Debug, PartialEq, Eq, Hash)]
462 pub struct NSNameSpecifier;
463);
464
465#[cfg(feature = "NSObject")]
466unsafe impl NSCoding for NSNameSpecifier {}
467
468unsafe impl NSObjectProtocol for NSNameSpecifier {}
469
470impl NSNameSpecifier {
471 extern_methods!(
472 #[cfg(feature = "NSCoder")]
473 #[unsafe(method(initWithCoder:))]
474 #[unsafe(method_family = init)]
475 pub unsafe fn initWithCoder(
476 this: Allocated<Self>,
477 in_coder: &NSCoder,
478 ) -> Option<Retained<Self>>;
479
480 #[cfg(all(
481 feature = "NSClassDescription",
482 feature = "NSScriptClassDescription",
483 feature = "NSString"
484 ))]
485 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:name:))]
486 #[unsafe(method_family = init)]
487 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_name(
488 this: Allocated<Self>,
489 class_desc: &NSScriptClassDescription,
490 container: Option<&NSScriptObjectSpecifier>,
491 property: &NSString,
492 name: &NSString,
493 ) -> Retained<Self>;
494
495 #[cfg(feature = "NSString")]
496 #[unsafe(method(name))]
497 #[unsafe(method_family = none)]
498 pub unsafe fn name(&self) -> Retained<NSString>;
499
500 #[cfg(feature = "NSString")]
501 #[unsafe(method(setName:))]
503 #[unsafe(method_family = none)]
504 pub unsafe fn setName(&self, name: &NSString);
505 );
506}
507
508impl NSNameSpecifier {
510 extern_methods!(
511 #[cfg(feature = "NSString")]
512 #[unsafe(method(initWithContainerSpecifier:key:))]
513 #[unsafe(method_family = init)]
514 pub unsafe fn initWithContainerSpecifier_key(
515 this: Allocated<Self>,
516 container: &NSScriptObjectSpecifier,
517 property: &NSString,
518 ) -> Retained<Self>;
519
520 #[cfg(all(
521 feature = "NSClassDescription",
522 feature = "NSScriptClassDescription",
523 feature = "NSString"
524 ))]
525 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
526 #[unsafe(method_family = init)]
527 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
528 this: Allocated<Self>,
529 class_desc: &NSScriptClassDescription,
530 container: Option<&NSScriptObjectSpecifier>,
531 property: &NSString,
532 ) -> Retained<Self>;
533 );
534}
535
536impl NSNameSpecifier {
538 extern_methods!(
539 #[unsafe(method(init))]
540 #[unsafe(method_family = init)]
541 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
542
543 #[unsafe(method(new))]
544 #[unsafe(method_family = new)]
545 pub unsafe fn new() -> Retained<Self>;
546 );
547}
548
549extern_class!(
550 #[unsafe(super(NSObject))]
552 #[derive(Debug, PartialEq, Eq, Hash)]
553 pub struct NSPositionalSpecifier;
554);
555
556unsafe impl NSObjectProtocol for NSPositionalSpecifier {}
557
558impl NSPositionalSpecifier {
559 extern_methods!(
560 #[unsafe(method(initWithPosition:objectSpecifier:))]
561 #[unsafe(method_family = init)]
562 pub unsafe fn initWithPosition_objectSpecifier(
563 this: Allocated<Self>,
564 position: NSInsertionPosition,
565 specifier: &NSScriptObjectSpecifier,
566 ) -> Retained<Self>;
567
568 #[unsafe(method(position))]
569 #[unsafe(method_family = none)]
570 pub unsafe fn position(&self) -> NSInsertionPosition;
571
572 #[unsafe(method(objectSpecifier))]
573 #[unsafe(method_family = none)]
574 pub unsafe fn objectSpecifier(&self) -> Retained<NSScriptObjectSpecifier>;
575
576 #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
577 #[unsafe(method(setInsertionClassDescription:))]
578 #[unsafe(method_family = none)]
579 pub unsafe fn setInsertionClassDescription(
580 &self,
581 class_description: &NSScriptClassDescription,
582 );
583
584 #[unsafe(method(evaluate))]
585 #[unsafe(method_family = none)]
586 pub unsafe fn evaluate(&self);
587
588 #[unsafe(method(insertionContainer))]
589 #[unsafe(method_family = none)]
590 pub unsafe fn insertionContainer(&self) -> Option<Retained<AnyObject>>;
591
592 #[cfg(feature = "NSString")]
593 #[unsafe(method(insertionKey))]
594 #[unsafe(method_family = none)]
595 pub unsafe fn insertionKey(&self) -> Option<Retained<NSString>>;
596
597 #[unsafe(method(insertionIndex))]
598 #[unsafe(method_family = none)]
599 pub unsafe fn insertionIndex(&self) -> NSInteger;
600
601 #[unsafe(method(insertionReplaces))]
602 #[unsafe(method_family = none)]
603 pub unsafe fn insertionReplaces(&self) -> bool;
604 );
605}
606
607impl NSPositionalSpecifier {
609 extern_methods!(
610 #[unsafe(method(init))]
611 #[unsafe(method_family = init)]
612 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
613
614 #[unsafe(method(new))]
615 #[unsafe(method_family = new)]
616 pub unsafe fn new() -> Retained<Self>;
617 );
618}
619
620extern_class!(
621 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
623 #[derive(Debug, PartialEq, Eq, Hash)]
624 pub struct NSPropertySpecifier;
625);
626
627#[cfg(feature = "NSObject")]
628unsafe impl NSCoding for NSPropertySpecifier {}
629
630unsafe impl NSObjectProtocol for NSPropertySpecifier {}
631
632impl NSPropertySpecifier {
633 extern_methods!();
634}
635
636impl NSPropertySpecifier {
638 extern_methods!(
639 #[cfg(feature = "NSString")]
640 #[unsafe(method(initWithContainerSpecifier:key:))]
641 #[unsafe(method_family = init)]
642 pub unsafe fn initWithContainerSpecifier_key(
643 this: Allocated<Self>,
644 container: &NSScriptObjectSpecifier,
645 property: &NSString,
646 ) -> Retained<Self>;
647
648 #[cfg(all(
649 feature = "NSClassDescription",
650 feature = "NSScriptClassDescription",
651 feature = "NSString"
652 ))]
653 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
654 #[unsafe(method_family = init)]
655 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
656 this: Allocated<Self>,
657 class_desc: &NSScriptClassDescription,
658 container: Option<&NSScriptObjectSpecifier>,
659 property: &NSString,
660 ) -> Retained<Self>;
661
662 #[cfg(feature = "NSCoder")]
663 #[unsafe(method(initWithCoder:))]
664 #[unsafe(method_family = init)]
665 pub unsafe fn initWithCoder(
666 this: Allocated<Self>,
667 in_coder: &NSCoder,
668 ) -> Option<Retained<Self>>;
669 );
670}
671
672impl NSPropertySpecifier {
674 extern_methods!(
675 #[unsafe(method(init))]
676 #[unsafe(method_family = init)]
677 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
678
679 #[unsafe(method(new))]
680 #[unsafe(method_family = new)]
681 pub unsafe fn new() -> Retained<Self>;
682 );
683}
684
685extern_class!(
686 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
688 #[derive(Debug, PartialEq, Eq, Hash)]
689 pub struct NSRandomSpecifier;
690);
691
692#[cfg(feature = "NSObject")]
693unsafe impl NSCoding for NSRandomSpecifier {}
694
695unsafe impl NSObjectProtocol for NSRandomSpecifier {}
696
697impl NSRandomSpecifier {
698 extern_methods!();
699}
700
701impl NSRandomSpecifier {
703 extern_methods!(
704 #[cfg(feature = "NSString")]
705 #[unsafe(method(initWithContainerSpecifier:key:))]
706 #[unsafe(method_family = init)]
707 pub unsafe fn initWithContainerSpecifier_key(
708 this: Allocated<Self>,
709 container: &NSScriptObjectSpecifier,
710 property: &NSString,
711 ) -> Retained<Self>;
712
713 #[cfg(all(
714 feature = "NSClassDescription",
715 feature = "NSScriptClassDescription",
716 feature = "NSString"
717 ))]
718 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
719 #[unsafe(method_family = init)]
720 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
721 this: Allocated<Self>,
722 class_desc: &NSScriptClassDescription,
723 container: Option<&NSScriptObjectSpecifier>,
724 property: &NSString,
725 ) -> Retained<Self>;
726
727 #[cfg(feature = "NSCoder")]
728 #[unsafe(method(initWithCoder:))]
729 #[unsafe(method_family = init)]
730 pub unsafe fn initWithCoder(
731 this: Allocated<Self>,
732 in_coder: &NSCoder,
733 ) -> Option<Retained<Self>>;
734 );
735}
736
737impl NSRandomSpecifier {
739 extern_methods!(
740 #[unsafe(method(init))]
741 #[unsafe(method_family = init)]
742 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
743
744 #[unsafe(method(new))]
745 #[unsafe(method_family = new)]
746 pub unsafe fn new() -> Retained<Self>;
747 );
748}
749
750extern_class!(
751 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
753 #[derive(Debug, PartialEq, Eq, Hash)]
754 pub struct NSRangeSpecifier;
755);
756
757#[cfg(feature = "NSObject")]
758unsafe impl NSCoding for NSRangeSpecifier {}
759
760unsafe impl NSObjectProtocol for NSRangeSpecifier {}
761
762impl NSRangeSpecifier {
763 extern_methods!(
764 #[cfg(feature = "NSCoder")]
765 #[unsafe(method(initWithCoder:))]
766 #[unsafe(method_family = init)]
767 pub unsafe fn initWithCoder(
768 this: Allocated<Self>,
769 in_coder: &NSCoder,
770 ) -> Option<Retained<Self>>;
771
772 #[cfg(all(
773 feature = "NSClassDescription",
774 feature = "NSScriptClassDescription",
775 feature = "NSString"
776 ))]
777 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:startSpecifier:endSpecifier:))]
778 #[unsafe(method_family = init)]
779 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_startSpecifier_endSpecifier(
780 this: Allocated<Self>,
781 class_desc: &NSScriptClassDescription,
782 container: Option<&NSScriptObjectSpecifier>,
783 property: &NSString,
784 start_spec: Option<&NSScriptObjectSpecifier>,
785 end_spec: Option<&NSScriptObjectSpecifier>,
786 ) -> Retained<Self>;
787
788 #[unsafe(method(startSpecifier))]
789 #[unsafe(method_family = none)]
790 pub unsafe fn startSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
791
792 #[unsafe(method(setStartSpecifier:))]
794 #[unsafe(method_family = none)]
795 pub unsafe fn setStartSpecifier(&self, start_specifier: Option<&NSScriptObjectSpecifier>);
796
797 #[unsafe(method(endSpecifier))]
798 #[unsafe(method_family = none)]
799 pub unsafe fn endSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
800
801 #[unsafe(method(setEndSpecifier:))]
803 #[unsafe(method_family = none)]
804 pub unsafe fn setEndSpecifier(&self, end_specifier: Option<&NSScriptObjectSpecifier>);
805 );
806}
807
808impl NSRangeSpecifier {
810 extern_methods!(
811 #[cfg(feature = "NSString")]
812 #[unsafe(method(initWithContainerSpecifier:key:))]
813 #[unsafe(method_family = init)]
814 pub unsafe fn initWithContainerSpecifier_key(
815 this: Allocated<Self>,
816 container: &NSScriptObjectSpecifier,
817 property: &NSString,
818 ) -> Retained<Self>;
819
820 #[cfg(all(
821 feature = "NSClassDescription",
822 feature = "NSScriptClassDescription",
823 feature = "NSString"
824 ))]
825 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
826 #[unsafe(method_family = init)]
827 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
828 this: Allocated<Self>,
829 class_desc: &NSScriptClassDescription,
830 container: Option<&NSScriptObjectSpecifier>,
831 property: &NSString,
832 ) -> Retained<Self>;
833 );
834}
835
836impl NSRangeSpecifier {
838 extern_methods!(
839 #[unsafe(method(init))]
840 #[unsafe(method_family = init)]
841 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
842
843 #[unsafe(method(new))]
844 #[unsafe(method_family = new)]
845 pub unsafe fn new() -> Retained<Self>;
846 );
847}
848
849extern_class!(
850 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
852 #[derive(Debug, PartialEq, Eq, Hash)]
853 pub struct NSRelativeSpecifier;
854);
855
856#[cfg(feature = "NSObject")]
857unsafe impl NSCoding for NSRelativeSpecifier {}
858
859unsafe impl NSObjectProtocol for NSRelativeSpecifier {}
860
861impl NSRelativeSpecifier {
862 extern_methods!(
863 #[cfg(feature = "NSCoder")]
864 #[unsafe(method(initWithCoder:))]
865 #[unsafe(method_family = init)]
866 pub unsafe fn initWithCoder(
867 this: Allocated<Self>,
868 in_coder: &NSCoder,
869 ) -> Option<Retained<Self>>;
870
871 #[cfg(all(
872 feature = "NSClassDescription",
873 feature = "NSScriptClassDescription",
874 feature = "NSString"
875 ))]
876 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:relativePosition:baseSpecifier:))]
877 #[unsafe(method_family = init)]
878 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_relativePosition_baseSpecifier(
879 this: Allocated<Self>,
880 class_desc: &NSScriptClassDescription,
881 container: Option<&NSScriptObjectSpecifier>,
882 property: &NSString,
883 rel_pos: NSRelativePosition,
884 base_specifier: Option<&NSScriptObjectSpecifier>,
885 ) -> Retained<Self>;
886
887 #[unsafe(method(relativePosition))]
888 #[unsafe(method_family = none)]
889 pub unsafe fn relativePosition(&self) -> NSRelativePosition;
890
891 #[unsafe(method(setRelativePosition:))]
893 #[unsafe(method_family = none)]
894 pub unsafe fn setRelativePosition(&self, relative_position: NSRelativePosition);
895
896 #[unsafe(method(baseSpecifier))]
897 #[unsafe(method_family = none)]
898 pub unsafe fn baseSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
899
900 #[unsafe(method(setBaseSpecifier:))]
902 #[unsafe(method_family = none)]
903 pub unsafe fn setBaseSpecifier(&self, base_specifier: Option<&NSScriptObjectSpecifier>);
904 );
905}
906
907impl NSRelativeSpecifier {
909 extern_methods!(
910 #[cfg(feature = "NSString")]
911 #[unsafe(method(initWithContainerSpecifier:key:))]
912 #[unsafe(method_family = init)]
913 pub unsafe fn initWithContainerSpecifier_key(
914 this: Allocated<Self>,
915 container: &NSScriptObjectSpecifier,
916 property: &NSString,
917 ) -> Retained<Self>;
918
919 #[cfg(all(
920 feature = "NSClassDescription",
921 feature = "NSScriptClassDescription",
922 feature = "NSString"
923 ))]
924 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
925 #[unsafe(method_family = init)]
926 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
927 this: Allocated<Self>,
928 class_desc: &NSScriptClassDescription,
929 container: Option<&NSScriptObjectSpecifier>,
930 property: &NSString,
931 ) -> Retained<Self>;
932 );
933}
934
935impl NSRelativeSpecifier {
937 extern_methods!(
938 #[unsafe(method(init))]
939 #[unsafe(method_family = init)]
940 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
941
942 #[unsafe(method(new))]
943 #[unsafe(method_family = new)]
944 pub unsafe fn new() -> Retained<Self>;
945 );
946}
947
948extern_class!(
949 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
951 #[derive(Debug, PartialEq, Eq, Hash)]
952 pub struct NSUniqueIDSpecifier;
953);
954
955#[cfg(feature = "NSObject")]
956unsafe impl NSCoding for NSUniqueIDSpecifier {}
957
958unsafe impl NSObjectProtocol for NSUniqueIDSpecifier {}
959
960impl NSUniqueIDSpecifier {
961 extern_methods!(
962 #[cfg(feature = "NSCoder")]
963 #[unsafe(method(initWithCoder:))]
964 #[unsafe(method_family = init)]
965 pub unsafe fn initWithCoder(
966 this: Allocated<Self>,
967 in_coder: &NSCoder,
968 ) -> Option<Retained<Self>>;
969
970 #[cfg(all(
971 feature = "NSClassDescription",
972 feature = "NSScriptClassDescription",
973 feature = "NSString"
974 ))]
975 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:uniqueID:))]
976 #[unsafe(method_family = init)]
977 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_uniqueID(
978 this: Allocated<Self>,
979 class_desc: &NSScriptClassDescription,
980 container: Option<&NSScriptObjectSpecifier>,
981 property: &NSString,
982 unique_id: &AnyObject,
983 ) -> Retained<Self>;
984
985 #[unsafe(method(uniqueID))]
986 #[unsafe(method_family = none)]
987 pub unsafe fn uniqueID(&self) -> Retained<AnyObject>;
988
989 #[unsafe(method(setUniqueID:))]
991 #[unsafe(method_family = none)]
992 pub unsafe fn setUniqueID(&self, unique_id: &AnyObject);
993 );
994}
995
996impl NSUniqueIDSpecifier {
998 extern_methods!(
999 #[cfg(feature = "NSString")]
1000 #[unsafe(method(initWithContainerSpecifier:key:))]
1001 #[unsafe(method_family = init)]
1002 pub unsafe fn initWithContainerSpecifier_key(
1003 this: Allocated<Self>,
1004 container: &NSScriptObjectSpecifier,
1005 property: &NSString,
1006 ) -> Retained<Self>;
1007
1008 #[cfg(all(
1009 feature = "NSClassDescription",
1010 feature = "NSScriptClassDescription",
1011 feature = "NSString"
1012 ))]
1013 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
1014 #[unsafe(method_family = init)]
1015 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
1016 this: Allocated<Self>,
1017 class_desc: &NSScriptClassDescription,
1018 container: Option<&NSScriptObjectSpecifier>,
1019 property: &NSString,
1020 ) -> Retained<Self>;
1021 );
1022}
1023
1024impl NSUniqueIDSpecifier {
1026 extern_methods!(
1027 #[unsafe(method(init))]
1028 #[unsafe(method_family = init)]
1029 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1030
1031 #[unsafe(method(new))]
1032 #[unsafe(method_family = new)]
1033 pub unsafe fn new() -> Retained<Self>;
1034 );
1035}
1036
1037extern_class!(
1038 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
1040 #[derive(Debug, PartialEq, Eq, Hash)]
1041 pub struct NSWhoseSpecifier;
1042);
1043
1044#[cfg(feature = "NSObject")]
1045unsafe impl NSCoding for NSWhoseSpecifier {}
1046
1047unsafe impl NSObjectProtocol for NSWhoseSpecifier {}
1048
1049impl NSWhoseSpecifier {
1050 extern_methods!(
1051 #[cfg(feature = "NSCoder")]
1052 #[unsafe(method(initWithCoder:))]
1053 #[unsafe(method_family = init)]
1054 pub unsafe fn initWithCoder(
1055 this: Allocated<Self>,
1056 in_coder: &NSCoder,
1057 ) -> Option<Retained<Self>>;
1058
1059 #[cfg(all(
1060 feature = "NSClassDescription",
1061 feature = "NSScriptClassDescription",
1062 feature = "NSScriptWhoseTests",
1063 feature = "NSString"
1064 ))]
1065 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:test:))]
1066 #[unsafe(method_family = init)]
1067 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_test(
1068 this: Allocated<Self>,
1069 class_desc: &NSScriptClassDescription,
1070 container: Option<&NSScriptObjectSpecifier>,
1071 property: &NSString,
1072 test: &NSScriptWhoseTest,
1073 ) -> Retained<Self>;
1074
1075 #[cfg(feature = "NSScriptWhoseTests")]
1076 #[unsafe(method(test))]
1077 #[unsafe(method_family = none)]
1078 pub unsafe fn test(&self) -> Retained<NSScriptWhoseTest>;
1079
1080 #[cfg(feature = "NSScriptWhoseTests")]
1081 #[unsafe(method(setTest:))]
1083 #[unsafe(method_family = none)]
1084 pub unsafe fn setTest(&self, test: &NSScriptWhoseTest);
1085
1086 #[unsafe(method(startSubelementIdentifier))]
1087 #[unsafe(method_family = none)]
1088 pub unsafe fn startSubelementIdentifier(&self) -> NSWhoseSubelementIdentifier;
1089
1090 #[unsafe(method(setStartSubelementIdentifier:))]
1092 #[unsafe(method_family = none)]
1093 pub unsafe fn setStartSubelementIdentifier(
1094 &self,
1095 start_subelement_identifier: NSWhoseSubelementIdentifier,
1096 );
1097
1098 #[unsafe(method(startSubelementIndex))]
1099 #[unsafe(method_family = none)]
1100 pub unsafe fn startSubelementIndex(&self) -> NSInteger;
1101
1102 #[unsafe(method(setStartSubelementIndex:))]
1104 #[unsafe(method_family = none)]
1105 pub unsafe fn setStartSubelementIndex(&self, start_subelement_index: NSInteger);
1106
1107 #[unsafe(method(endSubelementIdentifier))]
1108 #[unsafe(method_family = none)]
1109 pub unsafe fn endSubelementIdentifier(&self) -> NSWhoseSubelementIdentifier;
1110
1111 #[unsafe(method(setEndSubelementIdentifier:))]
1113 #[unsafe(method_family = none)]
1114 pub unsafe fn setEndSubelementIdentifier(
1115 &self,
1116 end_subelement_identifier: NSWhoseSubelementIdentifier,
1117 );
1118
1119 #[unsafe(method(endSubelementIndex))]
1120 #[unsafe(method_family = none)]
1121 pub unsafe fn endSubelementIndex(&self) -> NSInteger;
1122
1123 #[unsafe(method(setEndSubelementIndex:))]
1125 #[unsafe(method_family = none)]
1126 pub unsafe fn setEndSubelementIndex(&self, end_subelement_index: NSInteger);
1127 );
1128}
1129
1130impl NSWhoseSpecifier {
1132 extern_methods!(
1133 #[cfg(feature = "NSString")]
1134 #[unsafe(method(initWithContainerSpecifier:key:))]
1135 #[unsafe(method_family = init)]
1136 pub unsafe fn initWithContainerSpecifier_key(
1137 this: Allocated<Self>,
1138 container: &NSScriptObjectSpecifier,
1139 property: &NSString,
1140 ) -> Retained<Self>;
1141
1142 #[cfg(all(
1143 feature = "NSClassDescription",
1144 feature = "NSScriptClassDescription",
1145 feature = "NSString"
1146 ))]
1147 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
1148 #[unsafe(method_family = init)]
1149 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
1150 this: Allocated<Self>,
1151 class_desc: &NSScriptClassDescription,
1152 container: Option<&NSScriptObjectSpecifier>,
1153 property: &NSString,
1154 ) -> Retained<Self>;
1155 );
1156}
1157
1158impl NSWhoseSpecifier {
1160 extern_methods!(
1161 #[unsafe(method(init))]
1162 #[unsafe(method_family = init)]
1163 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1164
1165 #[unsafe(method(new))]
1166 #[unsafe(method_family = new)]
1167 pub unsafe fn new() -> Retained<Self>;
1168 );
1169}