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")]
104extern_conformance!(
105 unsafe impl NSCoding for NSScriptObjectSpecifier {}
106);
107
108extern_conformance!(
109 unsafe impl NSObjectProtocol for NSScriptObjectSpecifier {}
110);
111
112impl NSScriptObjectSpecifier {
113 extern_methods!(
114 #[cfg(feature = "NSAppleEventDescriptor")]
115 #[unsafe(method(objectSpecifierWithDescriptor:))]
116 #[unsafe(method_family = none)]
117 pub fn objectSpecifierWithDescriptor(
118 descriptor: &NSAppleEventDescriptor,
119 ) -> Option<Retained<NSScriptObjectSpecifier>>;
120
121 #[cfg(feature = "NSString")]
122 #[unsafe(method(initWithContainerSpecifier:key:))]
123 #[unsafe(method_family = init)]
124 pub fn initWithContainerSpecifier_key(
125 this: Allocated<Self>,
126 container: &NSScriptObjectSpecifier,
127 property: &NSString,
128 ) -> Retained<Self>;
129
130 #[cfg(all(
131 feature = "NSClassDescription",
132 feature = "NSScriptClassDescription",
133 feature = "NSString"
134 ))]
135 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
136 #[unsafe(method_family = init)]
137 pub fn initWithContainerClassDescription_containerSpecifier_key(
138 this: Allocated<Self>,
139 class_desc: &NSScriptClassDescription,
140 container: Option<&NSScriptObjectSpecifier>,
141 property: &NSString,
142 ) -> Retained<Self>;
143
144 #[cfg(feature = "NSCoder")]
145 #[unsafe(method(initWithCoder:))]
149 #[unsafe(method_family = init)]
150 pub unsafe fn initWithCoder(
151 this: Allocated<Self>,
152 in_coder: &NSCoder,
153 ) -> Option<Retained<Self>>;
154
155 #[unsafe(method(childSpecifier))]
159 #[unsafe(method_family = none)]
160 pub unsafe fn childSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
161
162 #[unsafe(method(setChildSpecifier:))]
168 #[unsafe(method_family = none)]
169 pub unsafe fn setChildSpecifier(&self, child_specifier: Option<&NSScriptObjectSpecifier>);
170
171 #[unsafe(method(containerSpecifier))]
172 #[unsafe(method_family = none)]
173 pub fn containerSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
174
175 #[unsafe(method(setContainerSpecifier:))]
177 #[unsafe(method_family = none)]
178 pub fn setContainerSpecifier(&self, container_specifier: Option<&NSScriptObjectSpecifier>);
179
180 #[unsafe(method(containerIsObjectBeingTested))]
181 #[unsafe(method_family = none)]
182 pub fn containerIsObjectBeingTested(&self) -> bool;
183
184 #[unsafe(method(setContainerIsObjectBeingTested:))]
186 #[unsafe(method_family = none)]
187 pub fn setContainerIsObjectBeingTested(&self, container_is_object_being_tested: bool);
188
189 #[unsafe(method(containerIsRangeContainerObject))]
190 #[unsafe(method_family = none)]
191 pub fn containerIsRangeContainerObject(&self) -> bool;
192
193 #[unsafe(method(setContainerIsRangeContainerObject:))]
195 #[unsafe(method_family = none)]
196 pub fn setContainerIsRangeContainerObject(&self, container_is_range_container_object: bool);
197
198 #[cfg(feature = "NSString")]
199 #[unsafe(method(key))]
200 #[unsafe(method_family = none)]
201 pub fn key(&self) -> Retained<NSString>;
202
203 #[cfg(feature = "NSString")]
204 #[unsafe(method(setKey:))]
208 #[unsafe(method_family = none)]
209 pub fn setKey(&self, key: &NSString);
210
211 #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
212 #[unsafe(method(containerClassDescription))]
213 #[unsafe(method_family = none)]
214 pub fn containerClassDescription(&self) -> Option<Retained<NSScriptClassDescription>>;
215
216 #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
217 #[unsafe(method(setContainerClassDescription:))]
219 #[unsafe(method_family = none)]
220 pub fn setContainerClassDescription(
221 &self,
222 container_class_description: Option<&NSScriptClassDescription>,
223 );
224
225 #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
226 #[unsafe(method(keyClassDescription))]
227 #[unsafe(method_family = none)]
228 pub fn keyClassDescription(&self) -> Option<Retained<NSScriptClassDescription>>;
229
230 #[unsafe(method(indicesOfObjectsByEvaluatingWithContainer:count:))]
235 #[unsafe(method_family = none)]
236 pub unsafe fn indicesOfObjectsByEvaluatingWithContainer_count(
237 &self,
238 container: &AnyObject,
239 count: NonNull<NSInteger>,
240 ) -> *mut NSInteger;
241
242 #[unsafe(method(objectsByEvaluatingWithContainers:))]
246 #[unsafe(method_family = none)]
247 pub unsafe fn objectsByEvaluatingWithContainers(
248 &self,
249 containers: &AnyObject,
250 ) -> Option<Retained<AnyObject>>;
251
252 #[unsafe(method(objectsByEvaluatingSpecifier))]
253 #[unsafe(method_family = none)]
254 pub fn objectsByEvaluatingSpecifier(&self) -> Option<Retained<AnyObject>>;
255
256 #[unsafe(method(evaluationErrorNumber))]
257 #[unsafe(method_family = none)]
258 pub fn evaluationErrorNumber(&self) -> NSInteger;
259
260 #[unsafe(method(setEvaluationErrorNumber:))]
262 #[unsafe(method_family = none)]
263 pub fn setEvaluationErrorNumber(&self, evaluation_error_number: NSInteger);
264
265 #[unsafe(method(evaluationErrorSpecifier))]
266 #[unsafe(method_family = none)]
267 pub fn evaluationErrorSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
268
269 #[cfg(feature = "NSAppleEventDescriptor")]
270 #[unsafe(method(descriptor))]
271 #[unsafe(method_family = none)]
272 pub fn descriptor(&self) -> Option<Retained<NSAppleEventDescriptor>>;
273 );
274}
275
276impl NSScriptObjectSpecifier {
278 extern_methods!(
279 #[unsafe(method(init))]
280 #[unsafe(method_family = init)]
281 pub fn init(this: Allocated<Self>) -> Retained<Self>;
282
283 #[unsafe(method(new))]
284 #[unsafe(method_family = new)]
285 pub fn new() -> Retained<Self>;
286 );
287}
288
289impl DefaultRetained for NSScriptObjectSpecifier {
290 #[inline]
291 fn default_retained() -> Retained<Self> {
292 Self::new()
293 }
294}
295
296mod private_NSObjectNSScriptObjectSpecifiers {
297 pub trait Sealed {}
298}
299
300#[doc(alias = "NSScriptObjectSpecifiers")]
302pub unsafe trait NSObjectNSScriptObjectSpecifiers:
303 ClassType + Sized + private_NSObjectNSScriptObjectSpecifiers::Sealed
304{
305 extern_methods!(
306 #[unsafe(method(objectSpecifier))]
307 #[unsafe(method_family = none)]
308 fn objectSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
309
310 #[cfg(all(feature = "NSArray", feature = "NSValue"))]
311 #[unsafe(method(indicesOfObjectsByEvaluatingObjectSpecifier:))]
312 #[unsafe(method_family = none)]
313 fn indicesOfObjectsByEvaluatingObjectSpecifier(
314 &self,
315 specifier: &NSScriptObjectSpecifier,
316 ) -> Option<Retained<NSArray<NSNumber>>>;
317 );
318}
319
320impl private_NSObjectNSScriptObjectSpecifiers::Sealed for NSObject {}
321unsafe impl NSObjectNSScriptObjectSpecifiers for NSObject {}
322
323extern_class!(
324 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
326 #[derive(Debug, PartialEq, Eq, Hash)]
327 pub struct NSIndexSpecifier;
328);
329
330#[cfg(feature = "NSObject")]
331extern_conformance!(
332 unsafe impl NSCoding for NSIndexSpecifier {}
333);
334
335extern_conformance!(
336 unsafe impl NSObjectProtocol for NSIndexSpecifier {}
337);
338
339impl NSIndexSpecifier {
340 extern_methods!(
341 #[cfg(all(
342 feature = "NSClassDescription",
343 feature = "NSScriptClassDescription",
344 feature = "NSString"
345 ))]
346 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:index:))]
347 #[unsafe(method_family = init)]
348 pub fn initWithContainerClassDescription_containerSpecifier_key_index(
349 this: Allocated<Self>,
350 class_desc: &NSScriptClassDescription,
351 container: Option<&NSScriptObjectSpecifier>,
352 property: &NSString,
353 index: NSInteger,
354 ) -> Retained<Self>;
355
356 #[unsafe(method(index))]
357 #[unsafe(method_family = none)]
358 pub fn index(&self) -> NSInteger;
359
360 #[unsafe(method(setIndex:))]
362 #[unsafe(method_family = none)]
363 pub fn setIndex(&self, index: NSInteger);
364 );
365}
366
367impl NSIndexSpecifier {
369 extern_methods!(
370 #[cfg(feature = "NSString")]
371 #[unsafe(method(initWithContainerSpecifier:key:))]
372 #[unsafe(method_family = init)]
373 pub fn initWithContainerSpecifier_key(
374 this: Allocated<Self>,
375 container: &NSScriptObjectSpecifier,
376 property: &NSString,
377 ) -> Retained<Self>;
378
379 #[cfg(all(
380 feature = "NSClassDescription",
381 feature = "NSScriptClassDescription",
382 feature = "NSString"
383 ))]
384 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
385 #[unsafe(method_family = init)]
386 pub fn initWithContainerClassDescription_containerSpecifier_key(
387 this: Allocated<Self>,
388 class_desc: &NSScriptClassDescription,
389 container: Option<&NSScriptObjectSpecifier>,
390 property: &NSString,
391 ) -> Retained<Self>;
392
393 #[cfg(feature = "NSCoder")]
394 #[unsafe(method(initWithCoder:))]
398 #[unsafe(method_family = init)]
399 pub unsafe fn initWithCoder(
400 this: Allocated<Self>,
401 in_coder: &NSCoder,
402 ) -> Option<Retained<Self>>;
403 );
404}
405
406impl NSIndexSpecifier {
408 extern_methods!(
409 #[unsafe(method(init))]
410 #[unsafe(method_family = init)]
411 pub fn init(this: Allocated<Self>) -> Retained<Self>;
412
413 #[unsafe(method(new))]
414 #[unsafe(method_family = new)]
415 pub fn new() -> Retained<Self>;
416 );
417}
418
419impl DefaultRetained for NSIndexSpecifier {
420 #[inline]
421 fn default_retained() -> Retained<Self> {
422 Self::new()
423 }
424}
425
426extern_class!(
427 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
429 #[derive(Debug, PartialEq, Eq, Hash)]
430 pub struct NSMiddleSpecifier;
431);
432
433#[cfg(feature = "NSObject")]
434extern_conformance!(
435 unsafe impl NSCoding for NSMiddleSpecifier {}
436);
437
438extern_conformance!(
439 unsafe impl NSObjectProtocol for NSMiddleSpecifier {}
440);
441
442impl NSMiddleSpecifier {
443 extern_methods!();
444}
445
446impl NSMiddleSpecifier {
448 extern_methods!(
449 #[cfg(feature = "NSString")]
450 #[unsafe(method(initWithContainerSpecifier:key:))]
451 #[unsafe(method_family = init)]
452 pub fn initWithContainerSpecifier_key(
453 this: Allocated<Self>,
454 container: &NSScriptObjectSpecifier,
455 property: &NSString,
456 ) -> Retained<Self>;
457
458 #[cfg(all(
459 feature = "NSClassDescription",
460 feature = "NSScriptClassDescription",
461 feature = "NSString"
462 ))]
463 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
464 #[unsafe(method_family = init)]
465 pub fn initWithContainerClassDescription_containerSpecifier_key(
466 this: Allocated<Self>,
467 class_desc: &NSScriptClassDescription,
468 container: Option<&NSScriptObjectSpecifier>,
469 property: &NSString,
470 ) -> Retained<Self>;
471
472 #[cfg(feature = "NSCoder")]
473 #[unsafe(method(initWithCoder:))]
477 #[unsafe(method_family = init)]
478 pub unsafe fn initWithCoder(
479 this: Allocated<Self>,
480 in_coder: &NSCoder,
481 ) -> Option<Retained<Self>>;
482 );
483}
484
485impl NSMiddleSpecifier {
487 extern_methods!(
488 #[unsafe(method(init))]
489 #[unsafe(method_family = init)]
490 pub fn init(this: Allocated<Self>) -> Retained<Self>;
491
492 #[unsafe(method(new))]
493 #[unsafe(method_family = new)]
494 pub fn new() -> Retained<Self>;
495 );
496}
497
498impl DefaultRetained for NSMiddleSpecifier {
499 #[inline]
500 fn default_retained() -> Retained<Self> {
501 Self::new()
502 }
503}
504
505extern_class!(
506 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
508 #[derive(Debug, PartialEq, Eq, Hash)]
509 pub struct NSNameSpecifier;
510);
511
512#[cfg(feature = "NSObject")]
513extern_conformance!(
514 unsafe impl NSCoding for NSNameSpecifier {}
515);
516
517extern_conformance!(
518 unsafe impl NSObjectProtocol for NSNameSpecifier {}
519);
520
521impl NSNameSpecifier {
522 extern_methods!(
523 #[cfg(feature = "NSCoder")]
524 #[unsafe(method(initWithCoder:))]
528 #[unsafe(method_family = init)]
529 pub unsafe fn initWithCoder(
530 this: Allocated<Self>,
531 in_coder: &NSCoder,
532 ) -> Option<Retained<Self>>;
533
534 #[cfg(all(
535 feature = "NSClassDescription",
536 feature = "NSScriptClassDescription",
537 feature = "NSString"
538 ))]
539 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:name:))]
540 #[unsafe(method_family = init)]
541 pub fn initWithContainerClassDescription_containerSpecifier_key_name(
542 this: Allocated<Self>,
543 class_desc: &NSScriptClassDescription,
544 container: Option<&NSScriptObjectSpecifier>,
545 property: &NSString,
546 name: &NSString,
547 ) -> Retained<Self>;
548
549 #[cfg(feature = "NSString")]
550 #[unsafe(method(name))]
551 #[unsafe(method_family = none)]
552 pub fn name(&self) -> Retained<NSString>;
553
554 #[cfg(feature = "NSString")]
555 #[unsafe(method(setName:))]
559 #[unsafe(method_family = none)]
560 pub fn setName(&self, name: &NSString);
561 );
562}
563
564impl NSNameSpecifier {
566 extern_methods!(
567 #[cfg(feature = "NSString")]
568 #[unsafe(method(initWithContainerSpecifier:key:))]
569 #[unsafe(method_family = init)]
570 pub fn initWithContainerSpecifier_key(
571 this: Allocated<Self>,
572 container: &NSScriptObjectSpecifier,
573 property: &NSString,
574 ) -> Retained<Self>;
575
576 #[cfg(all(
577 feature = "NSClassDescription",
578 feature = "NSScriptClassDescription",
579 feature = "NSString"
580 ))]
581 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
582 #[unsafe(method_family = init)]
583 pub fn initWithContainerClassDescription_containerSpecifier_key(
584 this: Allocated<Self>,
585 class_desc: &NSScriptClassDescription,
586 container: Option<&NSScriptObjectSpecifier>,
587 property: &NSString,
588 ) -> Retained<Self>;
589 );
590}
591
592impl NSNameSpecifier {
594 extern_methods!(
595 #[unsafe(method(init))]
596 #[unsafe(method_family = init)]
597 pub fn init(this: Allocated<Self>) -> Retained<Self>;
598
599 #[unsafe(method(new))]
600 #[unsafe(method_family = new)]
601 pub fn new() -> Retained<Self>;
602 );
603}
604
605impl DefaultRetained for NSNameSpecifier {
606 #[inline]
607 fn default_retained() -> Retained<Self> {
608 Self::new()
609 }
610}
611
612extern_class!(
613 #[unsafe(super(NSObject))]
615 #[derive(Debug, PartialEq, Eq, Hash)]
616 pub struct NSPositionalSpecifier;
617);
618
619extern_conformance!(
620 unsafe impl NSObjectProtocol for NSPositionalSpecifier {}
621);
622
623impl NSPositionalSpecifier {
624 extern_methods!(
625 #[unsafe(method(initWithPosition:objectSpecifier:))]
626 #[unsafe(method_family = init)]
627 pub fn initWithPosition_objectSpecifier(
628 this: Allocated<Self>,
629 position: NSInsertionPosition,
630 specifier: &NSScriptObjectSpecifier,
631 ) -> Retained<Self>;
632
633 #[unsafe(method(position))]
634 #[unsafe(method_family = none)]
635 pub fn position(&self) -> NSInsertionPosition;
636
637 #[unsafe(method(objectSpecifier))]
638 #[unsafe(method_family = none)]
639 pub fn objectSpecifier(&self) -> Retained<NSScriptObjectSpecifier>;
640
641 #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
642 #[unsafe(method(setInsertionClassDescription:))]
643 #[unsafe(method_family = none)]
644 pub fn setInsertionClassDescription(&self, class_description: &NSScriptClassDescription);
645
646 #[unsafe(method(evaluate))]
647 #[unsafe(method_family = none)]
648 pub fn evaluate(&self);
649
650 #[unsafe(method(insertionContainer))]
651 #[unsafe(method_family = none)]
652 pub fn insertionContainer(&self) -> Option<Retained<AnyObject>>;
653
654 #[cfg(feature = "NSString")]
655 #[unsafe(method(insertionKey))]
656 #[unsafe(method_family = none)]
657 pub fn insertionKey(&self) -> Option<Retained<NSString>>;
658
659 #[unsafe(method(insertionIndex))]
660 #[unsafe(method_family = none)]
661 pub fn insertionIndex(&self) -> NSInteger;
662
663 #[unsafe(method(insertionReplaces))]
664 #[unsafe(method_family = none)]
665 pub fn insertionReplaces(&self) -> bool;
666 );
667}
668
669impl NSPositionalSpecifier {
671 extern_methods!(
672 #[unsafe(method(init))]
673 #[unsafe(method_family = init)]
674 pub fn init(this: Allocated<Self>) -> Retained<Self>;
675
676 #[unsafe(method(new))]
677 #[unsafe(method_family = new)]
678 pub fn new() -> Retained<Self>;
679 );
680}
681
682impl DefaultRetained for NSPositionalSpecifier {
683 #[inline]
684 fn default_retained() -> Retained<Self> {
685 Self::new()
686 }
687}
688
689extern_class!(
690 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
692 #[derive(Debug, PartialEq, Eq, Hash)]
693 pub struct NSPropertySpecifier;
694);
695
696#[cfg(feature = "NSObject")]
697extern_conformance!(
698 unsafe impl NSCoding for NSPropertySpecifier {}
699);
700
701extern_conformance!(
702 unsafe impl NSObjectProtocol for NSPropertySpecifier {}
703);
704
705impl NSPropertySpecifier {
706 extern_methods!();
707}
708
709impl NSPropertySpecifier {
711 extern_methods!(
712 #[cfg(feature = "NSString")]
713 #[unsafe(method(initWithContainerSpecifier:key:))]
714 #[unsafe(method_family = init)]
715 pub fn initWithContainerSpecifier_key(
716 this: Allocated<Self>,
717 container: &NSScriptObjectSpecifier,
718 property: &NSString,
719 ) -> Retained<Self>;
720
721 #[cfg(all(
722 feature = "NSClassDescription",
723 feature = "NSScriptClassDescription",
724 feature = "NSString"
725 ))]
726 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
727 #[unsafe(method_family = init)]
728 pub fn initWithContainerClassDescription_containerSpecifier_key(
729 this: Allocated<Self>,
730 class_desc: &NSScriptClassDescription,
731 container: Option<&NSScriptObjectSpecifier>,
732 property: &NSString,
733 ) -> Retained<Self>;
734
735 #[cfg(feature = "NSCoder")]
736 #[unsafe(method(initWithCoder:))]
740 #[unsafe(method_family = init)]
741 pub unsafe fn initWithCoder(
742 this: Allocated<Self>,
743 in_coder: &NSCoder,
744 ) -> Option<Retained<Self>>;
745 );
746}
747
748impl NSPropertySpecifier {
750 extern_methods!(
751 #[unsafe(method(init))]
752 #[unsafe(method_family = init)]
753 pub fn init(this: Allocated<Self>) -> Retained<Self>;
754
755 #[unsafe(method(new))]
756 #[unsafe(method_family = new)]
757 pub fn new() -> Retained<Self>;
758 );
759}
760
761impl DefaultRetained for NSPropertySpecifier {
762 #[inline]
763 fn default_retained() -> Retained<Self> {
764 Self::new()
765 }
766}
767
768extern_class!(
769 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
771 #[derive(Debug, PartialEq, Eq, Hash)]
772 pub struct NSRandomSpecifier;
773);
774
775#[cfg(feature = "NSObject")]
776extern_conformance!(
777 unsafe impl NSCoding for NSRandomSpecifier {}
778);
779
780extern_conformance!(
781 unsafe impl NSObjectProtocol for NSRandomSpecifier {}
782);
783
784impl NSRandomSpecifier {
785 extern_methods!();
786}
787
788impl NSRandomSpecifier {
790 extern_methods!(
791 #[cfg(feature = "NSString")]
792 #[unsafe(method(initWithContainerSpecifier:key:))]
793 #[unsafe(method_family = init)]
794 pub fn initWithContainerSpecifier_key(
795 this: Allocated<Self>,
796 container: &NSScriptObjectSpecifier,
797 property: &NSString,
798 ) -> Retained<Self>;
799
800 #[cfg(all(
801 feature = "NSClassDescription",
802 feature = "NSScriptClassDescription",
803 feature = "NSString"
804 ))]
805 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
806 #[unsafe(method_family = init)]
807 pub fn initWithContainerClassDescription_containerSpecifier_key(
808 this: Allocated<Self>,
809 class_desc: &NSScriptClassDescription,
810 container: Option<&NSScriptObjectSpecifier>,
811 property: &NSString,
812 ) -> Retained<Self>;
813
814 #[cfg(feature = "NSCoder")]
815 #[unsafe(method(initWithCoder:))]
819 #[unsafe(method_family = init)]
820 pub unsafe fn initWithCoder(
821 this: Allocated<Self>,
822 in_coder: &NSCoder,
823 ) -> Option<Retained<Self>>;
824 );
825}
826
827impl NSRandomSpecifier {
829 extern_methods!(
830 #[unsafe(method(init))]
831 #[unsafe(method_family = init)]
832 pub fn init(this: Allocated<Self>) -> Retained<Self>;
833
834 #[unsafe(method(new))]
835 #[unsafe(method_family = new)]
836 pub fn new() -> Retained<Self>;
837 );
838}
839
840impl DefaultRetained for NSRandomSpecifier {
841 #[inline]
842 fn default_retained() -> Retained<Self> {
843 Self::new()
844 }
845}
846
847extern_class!(
848 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
850 #[derive(Debug, PartialEq, Eq, Hash)]
851 pub struct NSRangeSpecifier;
852);
853
854#[cfg(feature = "NSObject")]
855extern_conformance!(
856 unsafe impl NSCoding for NSRangeSpecifier {}
857);
858
859extern_conformance!(
860 unsafe impl NSObjectProtocol for NSRangeSpecifier {}
861);
862
863impl NSRangeSpecifier {
864 extern_methods!(
865 #[cfg(feature = "NSCoder")]
866 #[unsafe(method(initWithCoder:))]
870 #[unsafe(method_family = init)]
871 pub unsafe fn initWithCoder(
872 this: Allocated<Self>,
873 in_coder: &NSCoder,
874 ) -> Option<Retained<Self>>;
875
876 #[cfg(all(
877 feature = "NSClassDescription",
878 feature = "NSScriptClassDescription",
879 feature = "NSString"
880 ))]
881 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:startSpecifier:endSpecifier:))]
882 #[unsafe(method_family = init)]
883 pub fn initWithContainerClassDescription_containerSpecifier_key_startSpecifier_endSpecifier(
884 this: Allocated<Self>,
885 class_desc: &NSScriptClassDescription,
886 container: Option<&NSScriptObjectSpecifier>,
887 property: &NSString,
888 start_spec: Option<&NSScriptObjectSpecifier>,
889 end_spec: Option<&NSScriptObjectSpecifier>,
890 ) -> Retained<Self>;
891
892 #[unsafe(method(startSpecifier))]
893 #[unsafe(method_family = none)]
894 pub fn startSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
895
896 #[unsafe(method(setStartSpecifier:))]
898 #[unsafe(method_family = none)]
899 pub fn setStartSpecifier(&self, start_specifier: Option<&NSScriptObjectSpecifier>);
900
901 #[unsafe(method(endSpecifier))]
902 #[unsafe(method_family = none)]
903 pub fn endSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
904
905 #[unsafe(method(setEndSpecifier:))]
907 #[unsafe(method_family = none)]
908 pub fn setEndSpecifier(&self, end_specifier: Option<&NSScriptObjectSpecifier>);
909 );
910}
911
912impl NSRangeSpecifier {
914 extern_methods!(
915 #[cfg(feature = "NSString")]
916 #[unsafe(method(initWithContainerSpecifier:key:))]
917 #[unsafe(method_family = init)]
918 pub fn initWithContainerSpecifier_key(
919 this: Allocated<Self>,
920 container: &NSScriptObjectSpecifier,
921 property: &NSString,
922 ) -> Retained<Self>;
923
924 #[cfg(all(
925 feature = "NSClassDescription",
926 feature = "NSScriptClassDescription",
927 feature = "NSString"
928 ))]
929 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
930 #[unsafe(method_family = init)]
931 pub fn initWithContainerClassDescription_containerSpecifier_key(
932 this: Allocated<Self>,
933 class_desc: &NSScriptClassDescription,
934 container: Option<&NSScriptObjectSpecifier>,
935 property: &NSString,
936 ) -> Retained<Self>;
937 );
938}
939
940impl NSRangeSpecifier {
942 extern_methods!(
943 #[unsafe(method(init))]
944 #[unsafe(method_family = init)]
945 pub fn init(this: Allocated<Self>) -> Retained<Self>;
946
947 #[unsafe(method(new))]
948 #[unsafe(method_family = new)]
949 pub fn new() -> Retained<Self>;
950 );
951}
952
953impl DefaultRetained for NSRangeSpecifier {
954 #[inline]
955 fn default_retained() -> Retained<Self> {
956 Self::new()
957 }
958}
959
960extern_class!(
961 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
963 #[derive(Debug, PartialEq, Eq, Hash)]
964 pub struct NSRelativeSpecifier;
965);
966
967#[cfg(feature = "NSObject")]
968extern_conformance!(
969 unsafe impl NSCoding for NSRelativeSpecifier {}
970);
971
972extern_conformance!(
973 unsafe impl NSObjectProtocol for NSRelativeSpecifier {}
974);
975
976impl NSRelativeSpecifier {
977 extern_methods!(
978 #[cfg(feature = "NSCoder")]
979 #[unsafe(method(initWithCoder:))]
983 #[unsafe(method_family = init)]
984 pub unsafe fn initWithCoder(
985 this: Allocated<Self>,
986 in_coder: &NSCoder,
987 ) -> Option<Retained<Self>>;
988
989 #[cfg(all(
990 feature = "NSClassDescription",
991 feature = "NSScriptClassDescription",
992 feature = "NSString"
993 ))]
994 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:relativePosition:baseSpecifier:))]
995 #[unsafe(method_family = init)]
996 pub fn initWithContainerClassDescription_containerSpecifier_key_relativePosition_baseSpecifier(
997 this: Allocated<Self>,
998 class_desc: &NSScriptClassDescription,
999 container: Option<&NSScriptObjectSpecifier>,
1000 property: &NSString,
1001 rel_pos: NSRelativePosition,
1002 base_specifier: Option<&NSScriptObjectSpecifier>,
1003 ) -> Retained<Self>;
1004
1005 #[unsafe(method(relativePosition))]
1006 #[unsafe(method_family = none)]
1007 pub fn relativePosition(&self) -> NSRelativePosition;
1008
1009 #[unsafe(method(setRelativePosition:))]
1011 #[unsafe(method_family = none)]
1012 pub fn setRelativePosition(&self, relative_position: NSRelativePosition);
1013
1014 #[unsafe(method(baseSpecifier))]
1015 #[unsafe(method_family = none)]
1016 pub fn baseSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
1017
1018 #[unsafe(method(setBaseSpecifier:))]
1020 #[unsafe(method_family = none)]
1021 pub fn setBaseSpecifier(&self, base_specifier: Option<&NSScriptObjectSpecifier>);
1022 );
1023}
1024
1025impl NSRelativeSpecifier {
1027 extern_methods!(
1028 #[cfg(feature = "NSString")]
1029 #[unsafe(method(initWithContainerSpecifier:key:))]
1030 #[unsafe(method_family = init)]
1031 pub fn initWithContainerSpecifier_key(
1032 this: Allocated<Self>,
1033 container: &NSScriptObjectSpecifier,
1034 property: &NSString,
1035 ) -> Retained<Self>;
1036
1037 #[cfg(all(
1038 feature = "NSClassDescription",
1039 feature = "NSScriptClassDescription",
1040 feature = "NSString"
1041 ))]
1042 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
1043 #[unsafe(method_family = init)]
1044 pub fn initWithContainerClassDescription_containerSpecifier_key(
1045 this: Allocated<Self>,
1046 class_desc: &NSScriptClassDescription,
1047 container: Option<&NSScriptObjectSpecifier>,
1048 property: &NSString,
1049 ) -> Retained<Self>;
1050 );
1051}
1052
1053impl NSRelativeSpecifier {
1055 extern_methods!(
1056 #[unsafe(method(init))]
1057 #[unsafe(method_family = init)]
1058 pub fn init(this: Allocated<Self>) -> Retained<Self>;
1059
1060 #[unsafe(method(new))]
1061 #[unsafe(method_family = new)]
1062 pub fn new() -> Retained<Self>;
1063 );
1064}
1065
1066impl DefaultRetained for NSRelativeSpecifier {
1067 #[inline]
1068 fn default_retained() -> Retained<Self> {
1069 Self::new()
1070 }
1071}
1072
1073extern_class!(
1074 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
1076 #[derive(Debug, PartialEq, Eq, Hash)]
1077 pub struct NSUniqueIDSpecifier;
1078);
1079
1080#[cfg(feature = "NSObject")]
1081extern_conformance!(
1082 unsafe impl NSCoding for NSUniqueIDSpecifier {}
1083);
1084
1085extern_conformance!(
1086 unsafe impl NSObjectProtocol for NSUniqueIDSpecifier {}
1087);
1088
1089impl NSUniqueIDSpecifier {
1090 extern_methods!(
1091 #[cfg(feature = "NSCoder")]
1092 #[unsafe(method(initWithCoder:))]
1096 #[unsafe(method_family = init)]
1097 pub unsafe fn initWithCoder(
1098 this: Allocated<Self>,
1099 in_coder: &NSCoder,
1100 ) -> Option<Retained<Self>>;
1101
1102 #[cfg(all(
1103 feature = "NSClassDescription",
1104 feature = "NSScriptClassDescription",
1105 feature = "NSString"
1106 ))]
1107 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:uniqueID:))]
1111 #[unsafe(method_family = init)]
1112 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_uniqueID(
1113 this: Allocated<Self>,
1114 class_desc: &NSScriptClassDescription,
1115 container: Option<&NSScriptObjectSpecifier>,
1116 property: &NSString,
1117 unique_id: &AnyObject,
1118 ) -> Retained<Self>;
1119
1120 #[unsafe(method(uniqueID))]
1121 #[unsafe(method_family = none)]
1122 pub fn uniqueID(&self) -> Retained<AnyObject>;
1123
1124 #[unsafe(method(setUniqueID:))]
1132 #[unsafe(method_family = none)]
1133 pub unsafe fn setUniqueID(&self, unique_id: &AnyObject);
1134 );
1135}
1136
1137impl NSUniqueIDSpecifier {
1139 extern_methods!(
1140 #[cfg(feature = "NSString")]
1141 #[unsafe(method(initWithContainerSpecifier:key:))]
1142 #[unsafe(method_family = init)]
1143 pub fn initWithContainerSpecifier_key(
1144 this: Allocated<Self>,
1145 container: &NSScriptObjectSpecifier,
1146 property: &NSString,
1147 ) -> Retained<Self>;
1148
1149 #[cfg(all(
1150 feature = "NSClassDescription",
1151 feature = "NSScriptClassDescription",
1152 feature = "NSString"
1153 ))]
1154 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
1155 #[unsafe(method_family = init)]
1156 pub fn initWithContainerClassDescription_containerSpecifier_key(
1157 this: Allocated<Self>,
1158 class_desc: &NSScriptClassDescription,
1159 container: Option<&NSScriptObjectSpecifier>,
1160 property: &NSString,
1161 ) -> Retained<Self>;
1162 );
1163}
1164
1165impl NSUniqueIDSpecifier {
1167 extern_methods!(
1168 #[unsafe(method(init))]
1169 #[unsafe(method_family = init)]
1170 pub fn init(this: Allocated<Self>) -> Retained<Self>;
1171
1172 #[unsafe(method(new))]
1173 #[unsafe(method_family = new)]
1174 pub fn new() -> Retained<Self>;
1175 );
1176}
1177
1178impl DefaultRetained for NSUniqueIDSpecifier {
1179 #[inline]
1180 fn default_retained() -> Retained<Self> {
1181 Self::new()
1182 }
1183}
1184
1185extern_class!(
1186 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
1188 #[derive(Debug, PartialEq, Eq, Hash)]
1189 pub struct NSWhoseSpecifier;
1190);
1191
1192#[cfg(feature = "NSObject")]
1193extern_conformance!(
1194 unsafe impl NSCoding for NSWhoseSpecifier {}
1195);
1196
1197extern_conformance!(
1198 unsafe impl NSObjectProtocol for NSWhoseSpecifier {}
1199);
1200
1201impl NSWhoseSpecifier {
1202 extern_methods!(
1203 #[cfg(feature = "NSCoder")]
1204 #[unsafe(method(initWithCoder:))]
1208 #[unsafe(method_family = init)]
1209 pub unsafe fn initWithCoder(
1210 this: Allocated<Self>,
1211 in_coder: &NSCoder,
1212 ) -> Option<Retained<Self>>;
1213
1214 #[cfg(all(
1215 feature = "NSClassDescription",
1216 feature = "NSScriptClassDescription",
1217 feature = "NSScriptWhoseTests",
1218 feature = "NSString"
1219 ))]
1220 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:test:))]
1221 #[unsafe(method_family = init)]
1222 pub fn initWithContainerClassDescription_containerSpecifier_key_test(
1223 this: Allocated<Self>,
1224 class_desc: &NSScriptClassDescription,
1225 container: Option<&NSScriptObjectSpecifier>,
1226 property: &NSString,
1227 test: &NSScriptWhoseTest,
1228 ) -> Retained<Self>;
1229
1230 #[cfg(feature = "NSScriptWhoseTests")]
1231 #[unsafe(method(test))]
1232 #[unsafe(method_family = none)]
1233 pub fn test(&self) -> Retained<NSScriptWhoseTest>;
1234
1235 #[cfg(feature = "NSScriptWhoseTests")]
1236 #[unsafe(method(setTest:))]
1238 #[unsafe(method_family = none)]
1239 pub fn setTest(&self, test: &NSScriptWhoseTest);
1240
1241 #[unsafe(method(startSubelementIdentifier))]
1242 #[unsafe(method_family = none)]
1243 pub fn startSubelementIdentifier(&self) -> NSWhoseSubelementIdentifier;
1244
1245 #[unsafe(method(setStartSubelementIdentifier:))]
1247 #[unsafe(method_family = none)]
1248 pub fn setStartSubelementIdentifier(
1249 &self,
1250 start_subelement_identifier: NSWhoseSubelementIdentifier,
1251 );
1252
1253 #[unsafe(method(startSubelementIndex))]
1254 #[unsafe(method_family = none)]
1255 pub fn startSubelementIndex(&self) -> NSInteger;
1256
1257 #[unsafe(method(setStartSubelementIndex:))]
1259 #[unsafe(method_family = none)]
1260 pub fn setStartSubelementIndex(&self, start_subelement_index: NSInteger);
1261
1262 #[unsafe(method(endSubelementIdentifier))]
1263 #[unsafe(method_family = none)]
1264 pub fn endSubelementIdentifier(&self) -> NSWhoseSubelementIdentifier;
1265
1266 #[unsafe(method(setEndSubelementIdentifier:))]
1268 #[unsafe(method_family = none)]
1269 pub fn setEndSubelementIdentifier(
1270 &self,
1271 end_subelement_identifier: NSWhoseSubelementIdentifier,
1272 );
1273
1274 #[unsafe(method(endSubelementIndex))]
1275 #[unsafe(method_family = none)]
1276 pub fn endSubelementIndex(&self) -> NSInteger;
1277
1278 #[unsafe(method(setEndSubelementIndex:))]
1280 #[unsafe(method_family = none)]
1281 pub fn setEndSubelementIndex(&self, end_subelement_index: NSInteger);
1282 );
1283}
1284
1285impl NSWhoseSpecifier {
1287 extern_methods!(
1288 #[cfg(feature = "NSString")]
1289 #[unsafe(method(initWithContainerSpecifier:key:))]
1290 #[unsafe(method_family = init)]
1291 pub fn initWithContainerSpecifier_key(
1292 this: Allocated<Self>,
1293 container: &NSScriptObjectSpecifier,
1294 property: &NSString,
1295 ) -> Retained<Self>;
1296
1297 #[cfg(all(
1298 feature = "NSClassDescription",
1299 feature = "NSScriptClassDescription",
1300 feature = "NSString"
1301 ))]
1302 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
1303 #[unsafe(method_family = init)]
1304 pub fn initWithContainerClassDescription_containerSpecifier_key(
1305 this: Allocated<Self>,
1306 class_desc: &NSScriptClassDescription,
1307 container: Option<&NSScriptObjectSpecifier>,
1308 property: &NSString,
1309 ) -> Retained<Self>;
1310 );
1311}
1312
1313impl NSWhoseSpecifier {
1315 extern_methods!(
1316 #[unsafe(method(init))]
1317 #[unsafe(method_family = init)]
1318 pub fn init(this: Allocated<Self>) -> Retained<Self>;
1319
1320 #[unsafe(method(new))]
1321 #[unsafe(method_family = new)]
1322 pub fn new() -> Retained<Self>;
1323 );
1324}
1325
1326impl DefaultRetained for NSWhoseSpecifier {
1327 #[inline]
1328 fn default_retained() -> Retained<Self> {
1329 Self::new()
1330 }
1331}