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 unsafe 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 unsafe 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 unsafe 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:))]
146 #[unsafe(method_family = init)]
147 pub unsafe fn initWithCoder(
148 this: Allocated<Self>,
149 in_coder: &NSCoder,
150 ) -> Option<Retained<Self>>;
151
152 #[unsafe(method(childSpecifier))]
153 #[unsafe(method_family = none)]
154 pub unsafe fn childSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
155
156 #[unsafe(method(setChildSpecifier:))]
158 #[unsafe(method_family = none)]
159 pub unsafe fn setChildSpecifier(&self, child_specifier: Option<&NSScriptObjectSpecifier>);
160
161 #[unsafe(method(containerSpecifier))]
162 #[unsafe(method_family = none)]
163 pub unsafe fn containerSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
164
165 #[unsafe(method(setContainerSpecifier:))]
167 #[unsafe(method_family = none)]
168 pub unsafe fn setContainerSpecifier(
169 &self,
170 container_specifier: Option<&NSScriptObjectSpecifier>,
171 );
172
173 #[unsafe(method(containerIsObjectBeingTested))]
174 #[unsafe(method_family = none)]
175 pub unsafe fn containerIsObjectBeingTested(&self) -> bool;
176
177 #[unsafe(method(setContainerIsObjectBeingTested:))]
179 #[unsafe(method_family = none)]
180 pub unsafe fn setContainerIsObjectBeingTested(
181 &self,
182 container_is_object_being_tested: bool,
183 );
184
185 #[unsafe(method(containerIsRangeContainerObject))]
186 #[unsafe(method_family = none)]
187 pub unsafe fn containerIsRangeContainerObject(&self) -> bool;
188
189 #[unsafe(method(setContainerIsRangeContainerObject:))]
191 #[unsafe(method_family = none)]
192 pub unsafe fn setContainerIsRangeContainerObject(
193 &self,
194 container_is_range_container_object: bool,
195 );
196
197 #[cfg(feature = "NSString")]
198 #[unsafe(method(key))]
199 #[unsafe(method_family = none)]
200 pub unsafe fn key(&self) -> Retained<NSString>;
201
202 #[cfg(feature = "NSString")]
203 #[unsafe(method(setKey:))]
205 #[unsafe(method_family = none)]
206 pub unsafe fn setKey(&self, key: &NSString);
207
208 #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
209 #[unsafe(method(containerClassDescription))]
210 #[unsafe(method_family = none)]
211 pub unsafe fn containerClassDescription(
212 &self,
213 ) -> Option<Retained<NSScriptClassDescription>>;
214
215 #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
216 #[unsafe(method(setContainerClassDescription:))]
218 #[unsafe(method_family = none)]
219 pub unsafe fn setContainerClassDescription(
220 &self,
221 container_class_description: Option<&NSScriptClassDescription>,
222 );
223
224 #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
225 #[unsafe(method(keyClassDescription))]
226 #[unsafe(method_family = none)]
227 pub unsafe fn keyClassDescription(&self) -> Option<Retained<NSScriptClassDescription>>;
228
229 #[unsafe(method(indicesOfObjectsByEvaluatingWithContainer:count:))]
230 #[unsafe(method_family = none)]
231 pub unsafe fn indicesOfObjectsByEvaluatingWithContainer_count(
232 &self,
233 container: &AnyObject,
234 count: NonNull<NSInteger>,
235 ) -> *mut NSInteger;
236
237 #[unsafe(method(objectsByEvaluatingWithContainers:))]
238 #[unsafe(method_family = none)]
239 pub unsafe fn objectsByEvaluatingWithContainers(
240 &self,
241 containers: &AnyObject,
242 ) -> Option<Retained<AnyObject>>;
243
244 #[unsafe(method(objectsByEvaluatingSpecifier))]
245 #[unsafe(method_family = none)]
246 pub unsafe fn objectsByEvaluatingSpecifier(&self) -> Option<Retained<AnyObject>>;
247
248 #[unsafe(method(evaluationErrorNumber))]
249 #[unsafe(method_family = none)]
250 pub unsafe fn evaluationErrorNumber(&self) -> NSInteger;
251
252 #[unsafe(method(setEvaluationErrorNumber:))]
254 #[unsafe(method_family = none)]
255 pub unsafe fn setEvaluationErrorNumber(&self, evaluation_error_number: NSInteger);
256
257 #[unsafe(method(evaluationErrorSpecifier))]
258 #[unsafe(method_family = none)]
259 pub unsafe fn evaluationErrorSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
260
261 #[cfg(feature = "NSAppleEventDescriptor")]
262 #[unsafe(method(descriptor))]
263 #[unsafe(method_family = none)]
264 pub unsafe fn descriptor(&self) -> Option<Retained<NSAppleEventDescriptor>>;
265 );
266}
267
268impl NSScriptObjectSpecifier {
270 extern_methods!(
271 #[unsafe(method(init))]
272 #[unsafe(method_family = init)]
273 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
274
275 #[unsafe(method(new))]
276 #[unsafe(method_family = new)]
277 pub unsafe fn new() -> Retained<Self>;
278 );
279}
280
281mod private_NSObjectNSScriptObjectSpecifiers {
282 pub trait Sealed {}
283}
284
285#[doc(alias = "NSScriptObjectSpecifiers")]
287pub unsafe trait NSObjectNSScriptObjectSpecifiers:
288 ClassType + Sized + private_NSObjectNSScriptObjectSpecifiers::Sealed
289{
290 extern_methods!(
291 #[unsafe(method(objectSpecifier))]
292 #[unsafe(method_family = none)]
293 unsafe fn objectSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
294
295 #[cfg(all(feature = "NSArray", feature = "NSValue"))]
296 #[unsafe(method(indicesOfObjectsByEvaluatingObjectSpecifier:))]
297 #[unsafe(method_family = none)]
298 unsafe fn indicesOfObjectsByEvaluatingObjectSpecifier(
299 &self,
300 specifier: &NSScriptObjectSpecifier,
301 ) -> Option<Retained<NSArray<NSNumber>>>;
302 );
303}
304
305impl private_NSObjectNSScriptObjectSpecifiers::Sealed for NSObject {}
306unsafe impl NSObjectNSScriptObjectSpecifiers for NSObject {}
307
308extern_class!(
309 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
311 #[derive(Debug, PartialEq, Eq, Hash)]
312 pub struct NSIndexSpecifier;
313);
314
315#[cfg(feature = "NSObject")]
316extern_conformance!(
317 unsafe impl NSCoding for NSIndexSpecifier {}
318);
319
320extern_conformance!(
321 unsafe impl NSObjectProtocol for NSIndexSpecifier {}
322);
323
324impl NSIndexSpecifier {
325 extern_methods!(
326 #[cfg(all(
327 feature = "NSClassDescription",
328 feature = "NSScriptClassDescription",
329 feature = "NSString"
330 ))]
331 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:index:))]
332 #[unsafe(method_family = init)]
333 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_index(
334 this: Allocated<Self>,
335 class_desc: &NSScriptClassDescription,
336 container: Option<&NSScriptObjectSpecifier>,
337 property: &NSString,
338 index: NSInteger,
339 ) -> Retained<Self>;
340
341 #[unsafe(method(index))]
342 #[unsafe(method_family = none)]
343 pub unsafe fn index(&self) -> NSInteger;
344
345 #[unsafe(method(setIndex:))]
347 #[unsafe(method_family = none)]
348 pub unsafe fn setIndex(&self, index: NSInteger);
349 );
350}
351
352impl NSIndexSpecifier {
354 extern_methods!(
355 #[cfg(feature = "NSString")]
356 #[unsafe(method(initWithContainerSpecifier:key:))]
357 #[unsafe(method_family = init)]
358 pub unsafe fn initWithContainerSpecifier_key(
359 this: Allocated<Self>,
360 container: &NSScriptObjectSpecifier,
361 property: &NSString,
362 ) -> Retained<Self>;
363
364 #[cfg(all(
365 feature = "NSClassDescription",
366 feature = "NSScriptClassDescription",
367 feature = "NSString"
368 ))]
369 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
370 #[unsafe(method_family = init)]
371 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
372 this: Allocated<Self>,
373 class_desc: &NSScriptClassDescription,
374 container: Option<&NSScriptObjectSpecifier>,
375 property: &NSString,
376 ) -> Retained<Self>;
377
378 #[cfg(feature = "NSCoder")]
379 #[unsafe(method(initWithCoder:))]
380 #[unsafe(method_family = init)]
381 pub unsafe fn initWithCoder(
382 this: Allocated<Self>,
383 in_coder: &NSCoder,
384 ) -> Option<Retained<Self>>;
385 );
386}
387
388impl NSIndexSpecifier {
390 extern_methods!(
391 #[unsafe(method(init))]
392 #[unsafe(method_family = init)]
393 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
394
395 #[unsafe(method(new))]
396 #[unsafe(method_family = new)]
397 pub unsafe fn new() -> Retained<Self>;
398 );
399}
400
401extern_class!(
402 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
404 #[derive(Debug, PartialEq, Eq, Hash)]
405 pub struct NSMiddleSpecifier;
406);
407
408#[cfg(feature = "NSObject")]
409extern_conformance!(
410 unsafe impl NSCoding for NSMiddleSpecifier {}
411);
412
413extern_conformance!(
414 unsafe impl NSObjectProtocol for NSMiddleSpecifier {}
415);
416
417impl NSMiddleSpecifier {
418 extern_methods!();
419}
420
421impl NSMiddleSpecifier {
423 extern_methods!(
424 #[cfg(feature = "NSString")]
425 #[unsafe(method(initWithContainerSpecifier:key:))]
426 #[unsafe(method_family = init)]
427 pub unsafe fn initWithContainerSpecifier_key(
428 this: Allocated<Self>,
429 container: &NSScriptObjectSpecifier,
430 property: &NSString,
431 ) -> Retained<Self>;
432
433 #[cfg(all(
434 feature = "NSClassDescription",
435 feature = "NSScriptClassDescription",
436 feature = "NSString"
437 ))]
438 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
439 #[unsafe(method_family = init)]
440 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
441 this: Allocated<Self>,
442 class_desc: &NSScriptClassDescription,
443 container: Option<&NSScriptObjectSpecifier>,
444 property: &NSString,
445 ) -> Retained<Self>;
446
447 #[cfg(feature = "NSCoder")]
448 #[unsafe(method(initWithCoder:))]
449 #[unsafe(method_family = init)]
450 pub unsafe fn initWithCoder(
451 this: Allocated<Self>,
452 in_coder: &NSCoder,
453 ) -> Option<Retained<Self>>;
454 );
455}
456
457impl NSMiddleSpecifier {
459 extern_methods!(
460 #[unsafe(method(init))]
461 #[unsafe(method_family = init)]
462 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
463
464 #[unsafe(method(new))]
465 #[unsafe(method_family = new)]
466 pub unsafe fn new() -> Retained<Self>;
467 );
468}
469
470extern_class!(
471 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
473 #[derive(Debug, PartialEq, Eq, Hash)]
474 pub struct NSNameSpecifier;
475);
476
477#[cfg(feature = "NSObject")]
478extern_conformance!(
479 unsafe impl NSCoding for NSNameSpecifier {}
480);
481
482extern_conformance!(
483 unsafe impl NSObjectProtocol for NSNameSpecifier {}
484);
485
486impl NSNameSpecifier {
487 extern_methods!(
488 #[cfg(feature = "NSCoder")]
489 #[unsafe(method(initWithCoder:))]
490 #[unsafe(method_family = init)]
491 pub unsafe fn initWithCoder(
492 this: Allocated<Self>,
493 in_coder: &NSCoder,
494 ) -> Option<Retained<Self>>;
495
496 #[cfg(all(
497 feature = "NSClassDescription",
498 feature = "NSScriptClassDescription",
499 feature = "NSString"
500 ))]
501 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:name:))]
502 #[unsafe(method_family = init)]
503 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_name(
504 this: Allocated<Self>,
505 class_desc: &NSScriptClassDescription,
506 container: Option<&NSScriptObjectSpecifier>,
507 property: &NSString,
508 name: &NSString,
509 ) -> Retained<Self>;
510
511 #[cfg(feature = "NSString")]
512 #[unsafe(method(name))]
513 #[unsafe(method_family = none)]
514 pub unsafe fn name(&self) -> Retained<NSString>;
515
516 #[cfg(feature = "NSString")]
517 #[unsafe(method(setName:))]
519 #[unsafe(method_family = none)]
520 pub unsafe fn setName(&self, name: &NSString);
521 );
522}
523
524impl NSNameSpecifier {
526 extern_methods!(
527 #[cfg(feature = "NSString")]
528 #[unsafe(method(initWithContainerSpecifier:key:))]
529 #[unsafe(method_family = init)]
530 pub unsafe fn initWithContainerSpecifier_key(
531 this: Allocated<Self>,
532 container: &NSScriptObjectSpecifier,
533 property: &NSString,
534 ) -> Retained<Self>;
535
536 #[cfg(all(
537 feature = "NSClassDescription",
538 feature = "NSScriptClassDescription",
539 feature = "NSString"
540 ))]
541 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
542 #[unsafe(method_family = init)]
543 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
544 this: Allocated<Self>,
545 class_desc: &NSScriptClassDescription,
546 container: Option<&NSScriptObjectSpecifier>,
547 property: &NSString,
548 ) -> Retained<Self>;
549 );
550}
551
552impl NSNameSpecifier {
554 extern_methods!(
555 #[unsafe(method(init))]
556 #[unsafe(method_family = init)]
557 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
558
559 #[unsafe(method(new))]
560 #[unsafe(method_family = new)]
561 pub unsafe fn new() -> Retained<Self>;
562 );
563}
564
565extern_class!(
566 #[unsafe(super(NSObject))]
568 #[derive(Debug, PartialEq, Eq, Hash)]
569 pub struct NSPositionalSpecifier;
570);
571
572extern_conformance!(
573 unsafe impl NSObjectProtocol for NSPositionalSpecifier {}
574);
575
576impl NSPositionalSpecifier {
577 extern_methods!(
578 #[unsafe(method(initWithPosition:objectSpecifier:))]
579 #[unsafe(method_family = init)]
580 pub unsafe fn initWithPosition_objectSpecifier(
581 this: Allocated<Self>,
582 position: NSInsertionPosition,
583 specifier: &NSScriptObjectSpecifier,
584 ) -> Retained<Self>;
585
586 #[unsafe(method(position))]
587 #[unsafe(method_family = none)]
588 pub unsafe fn position(&self) -> NSInsertionPosition;
589
590 #[unsafe(method(objectSpecifier))]
591 #[unsafe(method_family = none)]
592 pub unsafe fn objectSpecifier(&self) -> Retained<NSScriptObjectSpecifier>;
593
594 #[cfg(all(feature = "NSClassDescription", feature = "NSScriptClassDescription"))]
595 #[unsafe(method(setInsertionClassDescription:))]
596 #[unsafe(method_family = none)]
597 pub unsafe fn setInsertionClassDescription(
598 &self,
599 class_description: &NSScriptClassDescription,
600 );
601
602 #[unsafe(method(evaluate))]
603 #[unsafe(method_family = none)]
604 pub unsafe fn evaluate(&self);
605
606 #[unsafe(method(insertionContainer))]
607 #[unsafe(method_family = none)]
608 pub unsafe fn insertionContainer(&self) -> Option<Retained<AnyObject>>;
609
610 #[cfg(feature = "NSString")]
611 #[unsafe(method(insertionKey))]
612 #[unsafe(method_family = none)]
613 pub unsafe fn insertionKey(&self) -> Option<Retained<NSString>>;
614
615 #[unsafe(method(insertionIndex))]
616 #[unsafe(method_family = none)]
617 pub unsafe fn insertionIndex(&self) -> NSInteger;
618
619 #[unsafe(method(insertionReplaces))]
620 #[unsafe(method_family = none)]
621 pub unsafe fn insertionReplaces(&self) -> bool;
622 );
623}
624
625impl NSPositionalSpecifier {
627 extern_methods!(
628 #[unsafe(method(init))]
629 #[unsafe(method_family = init)]
630 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
631
632 #[unsafe(method(new))]
633 #[unsafe(method_family = new)]
634 pub unsafe fn new() -> Retained<Self>;
635 );
636}
637
638extern_class!(
639 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
641 #[derive(Debug, PartialEq, Eq, Hash)]
642 pub struct NSPropertySpecifier;
643);
644
645#[cfg(feature = "NSObject")]
646extern_conformance!(
647 unsafe impl NSCoding for NSPropertySpecifier {}
648);
649
650extern_conformance!(
651 unsafe impl NSObjectProtocol for NSPropertySpecifier {}
652);
653
654impl NSPropertySpecifier {
655 extern_methods!();
656}
657
658impl NSPropertySpecifier {
660 extern_methods!(
661 #[cfg(feature = "NSString")]
662 #[unsafe(method(initWithContainerSpecifier:key:))]
663 #[unsafe(method_family = init)]
664 pub unsafe fn initWithContainerSpecifier_key(
665 this: Allocated<Self>,
666 container: &NSScriptObjectSpecifier,
667 property: &NSString,
668 ) -> Retained<Self>;
669
670 #[cfg(all(
671 feature = "NSClassDescription",
672 feature = "NSScriptClassDescription",
673 feature = "NSString"
674 ))]
675 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
676 #[unsafe(method_family = init)]
677 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
678 this: Allocated<Self>,
679 class_desc: &NSScriptClassDescription,
680 container: Option<&NSScriptObjectSpecifier>,
681 property: &NSString,
682 ) -> Retained<Self>;
683
684 #[cfg(feature = "NSCoder")]
685 #[unsafe(method(initWithCoder:))]
686 #[unsafe(method_family = init)]
687 pub unsafe fn initWithCoder(
688 this: Allocated<Self>,
689 in_coder: &NSCoder,
690 ) -> Option<Retained<Self>>;
691 );
692}
693
694impl NSPropertySpecifier {
696 extern_methods!(
697 #[unsafe(method(init))]
698 #[unsafe(method_family = init)]
699 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
700
701 #[unsafe(method(new))]
702 #[unsafe(method_family = new)]
703 pub unsafe fn new() -> Retained<Self>;
704 );
705}
706
707extern_class!(
708 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
710 #[derive(Debug, PartialEq, Eq, Hash)]
711 pub struct NSRandomSpecifier;
712);
713
714#[cfg(feature = "NSObject")]
715extern_conformance!(
716 unsafe impl NSCoding for NSRandomSpecifier {}
717);
718
719extern_conformance!(
720 unsafe impl NSObjectProtocol for NSRandomSpecifier {}
721);
722
723impl NSRandomSpecifier {
724 extern_methods!();
725}
726
727impl NSRandomSpecifier {
729 extern_methods!(
730 #[cfg(feature = "NSString")]
731 #[unsafe(method(initWithContainerSpecifier:key:))]
732 #[unsafe(method_family = init)]
733 pub unsafe fn initWithContainerSpecifier_key(
734 this: Allocated<Self>,
735 container: &NSScriptObjectSpecifier,
736 property: &NSString,
737 ) -> Retained<Self>;
738
739 #[cfg(all(
740 feature = "NSClassDescription",
741 feature = "NSScriptClassDescription",
742 feature = "NSString"
743 ))]
744 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
745 #[unsafe(method_family = init)]
746 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
747 this: Allocated<Self>,
748 class_desc: &NSScriptClassDescription,
749 container: Option<&NSScriptObjectSpecifier>,
750 property: &NSString,
751 ) -> Retained<Self>;
752
753 #[cfg(feature = "NSCoder")]
754 #[unsafe(method(initWithCoder:))]
755 #[unsafe(method_family = init)]
756 pub unsafe fn initWithCoder(
757 this: Allocated<Self>,
758 in_coder: &NSCoder,
759 ) -> Option<Retained<Self>>;
760 );
761}
762
763impl NSRandomSpecifier {
765 extern_methods!(
766 #[unsafe(method(init))]
767 #[unsafe(method_family = init)]
768 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
769
770 #[unsafe(method(new))]
771 #[unsafe(method_family = new)]
772 pub unsafe fn new() -> Retained<Self>;
773 );
774}
775
776extern_class!(
777 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
779 #[derive(Debug, PartialEq, Eq, Hash)]
780 pub struct NSRangeSpecifier;
781);
782
783#[cfg(feature = "NSObject")]
784extern_conformance!(
785 unsafe impl NSCoding for NSRangeSpecifier {}
786);
787
788extern_conformance!(
789 unsafe impl NSObjectProtocol for NSRangeSpecifier {}
790);
791
792impl NSRangeSpecifier {
793 extern_methods!(
794 #[cfg(feature = "NSCoder")]
795 #[unsafe(method(initWithCoder:))]
796 #[unsafe(method_family = init)]
797 pub unsafe fn initWithCoder(
798 this: Allocated<Self>,
799 in_coder: &NSCoder,
800 ) -> Option<Retained<Self>>;
801
802 #[cfg(all(
803 feature = "NSClassDescription",
804 feature = "NSScriptClassDescription",
805 feature = "NSString"
806 ))]
807 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:startSpecifier:endSpecifier:))]
808 #[unsafe(method_family = init)]
809 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_startSpecifier_endSpecifier(
810 this: Allocated<Self>,
811 class_desc: &NSScriptClassDescription,
812 container: Option<&NSScriptObjectSpecifier>,
813 property: &NSString,
814 start_spec: Option<&NSScriptObjectSpecifier>,
815 end_spec: Option<&NSScriptObjectSpecifier>,
816 ) -> Retained<Self>;
817
818 #[unsafe(method(startSpecifier))]
819 #[unsafe(method_family = none)]
820 pub unsafe fn startSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
821
822 #[unsafe(method(setStartSpecifier:))]
824 #[unsafe(method_family = none)]
825 pub unsafe fn setStartSpecifier(&self, start_specifier: Option<&NSScriptObjectSpecifier>);
826
827 #[unsafe(method(endSpecifier))]
828 #[unsafe(method_family = none)]
829 pub unsafe fn endSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
830
831 #[unsafe(method(setEndSpecifier:))]
833 #[unsafe(method_family = none)]
834 pub unsafe fn setEndSpecifier(&self, end_specifier: Option<&NSScriptObjectSpecifier>);
835 );
836}
837
838impl NSRangeSpecifier {
840 extern_methods!(
841 #[cfg(feature = "NSString")]
842 #[unsafe(method(initWithContainerSpecifier:key:))]
843 #[unsafe(method_family = init)]
844 pub unsafe fn initWithContainerSpecifier_key(
845 this: Allocated<Self>,
846 container: &NSScriptObjectSpecifier,
847 property: &NSString,
848 ) -> Retained<Self>;
849
850 #[cfg(all(
851 feature = "NSClassDescription",
852 feature = "NSScriptClassDescription",
853 feature = "NSString"
854 ))]
855 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
856 #[unsafe(method_family = init)]
857 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
858 this: Allocated<Self>,
859 class_desc: &NSScriptClassDescription,
860 container: Option<&NSScriptObjectSpecifier>,
861 property: &NSString,
862 ) -> Retained<Self>;
863 );
864}
865
866impl NSRangeSpecifier {
868 extern_methods!(
869 #[unsafe(method(init))]
870 #[unsafe(method_family = init)]
871 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
872
873 #[unsafe(method(new))]
874 #[unsafe(method_family = new)]
875 pub unsafe fn new() -> Retained<Self>;
876 );
877}
878
879extern_class!(
880 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
882 #[derive(Debug, PartialEq, Eq, Hash)]
883 pub struct NSRelativeSpecifier;
884);
885
886#[cfg(feature = "NSObject")]
887extern_conformance!(
888 unsafe impl NSCoding for NSRelativeSpecifier {}
889);
890
891extern_conformance!(
892 unsafe impl NSObjectProtocol for NSRelativeSpecifier {}
893);
894
895impl NSRelativeSpecifier {
896 extern_methods!(
897 #[cfg(feature = "NSCoder")]
898 #[unsafe(method(initWithCoder:))]
899 #[unsafe(method_family = init)]
900 pub unsafe fn initWithCoder(
901 this: Allocated<Self>,
902 in_coder: &NSCoder,
903 ) -> Option<Retained<Self>>;
904
905 #[cfg(all(
906 feature = "NSClassDescription",
907 feature = "NSScriptClassDescription",
908 feature = "NSString"
909 ))]
910 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:relativePosition:baseSpecifier:))]
911 #[unsafe(method_family = init)]
912 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_relativePosition_baseSpecifier(
913 this: Allocated<Self>,
914 class_desc: &NSScriptClassDescription,
915 container: Option<&NSScriptObjectSpecifier>,
916 property: &NSString,
917 rel_pos: NSRelativePosition,
918 base_specifier: Option<&NSScriptObjectSpecifier>,
919 ) -> Retained<Self>;
920
921 #[unsafe(method(relativePosition))]
922 #[unsafe(method_family = none)]
923 pub unsafe fn relativePosition(&self) -> NSRelativePosition;
924
925 #[unsafe(method(setRelativePosition:))]
927 #[unsafe(method_family = none)]
928 pub unsafe fn setRelativePosition(&self, relative_position: NSRelativePosition);
929
930 #[unsafe(method(baseSpecifier))]
931 #[unsafe(method_family = none)]
932 pub unsafe fn baseSpecifier(&self) -> Option<Retained<NSScriptObjectSpecifier>>;
933
934 #[unsafe(method(setBaseSpecifier:))]
936 #[unsafe(method_family = none)]
937 pub unsafe fn setBaseSpecifier(&self, base_specifier: Option<&NSScriptObjectSpecifier>);
938 );
939}
940
941impl NSRelativeSpecifier {
943 extern_methods!(
944 #[cfg(feature = "NSString")]
945 #[unsafe(method(initWithContainerSpecifier:key:))]
946 #[unsafe(method_family = init)]
947 pub unsafe fn initWithContainerSpecifier_key(
948 this: Allocated<Self>,
949 container: &NSScriptObjectSpecifier,
950 property: &NSString,
951 ) -> Retained<Self>;
952
953 #[cfg(all(
954 feature = "NSClassDescription",
955 feature = "NSScriptClassDescription",
956 feature = "NSString"
957 ))]
958 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
959 #[unsafe(method_family = init)]
960 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
961 this: Allocated<Self>,
962 class_desc: &NSScriptClassDescription,
963 container: Option<&NSScriptObjectSpecifier>,
964 property: &NSString,
965 ) -> Retained<Self>;
966 );
967}
968
969impl NSRelativeSpecifier {
971 extern_methods!(
972 #[unsafe(method(init))]
973 #[unsafe(method_family = init)]
974 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
975
976 #[unsafe(method(new))]
977 #[unsafe(method_family = new)]
978 pub unsafe fn new() -> Retained<Self>;
979 );
980}
981
982extern_class!(
983 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
985 #[derive(Debug, PartialEq, Eq, Hash)]
986 pub struct NSUniqueIDSpecifier;
987);
988
989#[cfg(feature = "NSObject")]
990extern_conformance!(
991 unsafe impl NSCoding for NSUniqueIDSpecifier {}
992);
993
994extern_conformance!(
995 unsafe impl NSObjectProtocol for NSUniqueIDSpecifier {}
996);
997
998impl NSUniqueIDSpecifier {
999 extern_methods!(
1000 #[cfg(feature = "NSCoder")]
1001 #[unsafe(method(initWithCoder:))]
1002 #[unsafe(method_family = init)]
1003 pub unsafe fn initWithCoder(
1004 this: Allocated<Self>,
1005 in_coder: &NSCoder,
1006 ) -> Option<Retained<Self>>;
1007
1008 #[cfg(all(
1009 feature = "NSClassDescription",
1010 feature = "NSScriptClassDescription",
1011 feature = "NSString"
1012 ))]
1013 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:uniqueID:))]
1014 #[unsafe(method_family = init)]
1015 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_uniqueID(
1016 this: Allocated<Self>,
1017 class_desc: &NSScriptClassDescription,
1018 container: Option<&NSScriptObjectSpecifier>,
1019 property: &NSString,
1020 unique_id: &AnyObject,
1021 ) -> Retained<Self>;
1022
1023 #[unsafe(method(uniqueID))]
1024 #[unsafe(method_family = none)]
1025 pub unsafe fn uniqueID(&self) -> Retained<AnyObject>;
1026
1027 #[unsafe(method(setUniqueID:))]
1029 #[unsafe(method_family = none)]
1030 pub unsafe fn setUniqueID(&self, unique_id: &AnyObject);
1031 );
1032}
1033
1034impl NSUniqueIDSpecifier {
1036 extern_methods!(
1037 #[cfg(feature = "NSString")]
1038 #[unsafe(method(initWithContainerSpecifier:key:))]
1039 #[unsafe(method_family = init)]
1040 pub unsafe fn initWithContainerSpecifier_key(
1041 this: Allocated<Self>,
1042 container: &NSScriptObjectSpecifier,
1043 property: &NSString,
1044 ) -> Retained<Self>;
1045
1046 #[cfg(all(
1047 feature = "NSClassDescription",
1048 feature = "NSScriptClassDescription",
1049 feature = "NSString"
1050 ))]
1051 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
1052 #[unsafe(method_family = init)]
1053 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
1054 this: Allocated<Self>,
1055 class_desc: &NSScriptClassDescription,
1056 container: Option<&NSScriptObjectSpecifier>,
1057 property: &NSString,
1058 ) -> Retained<Self>;
1059 );
1060}
1061
1062impl NSUniqueIDSpecifier {
1064 extern_methods!(
1065 #[unsafe(method(init))]
1066 #[unsafe(method_family = init)]
1067 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1068
1069 #[unsafe(method(new))]
1070 #[unsafe(method_family = new)]
1071 pub unsafe fn new() -> Retained<Self>;
1072 );
1073}
1074
1075extern_class!(
1076 #[unsafe(super(NSScriptObjectSpecifier, NSObject))]
1078 #[derive(Debug, PartialEq, Eq, Hash)]
1079 pub struct NSWhoseSpecifier;
1080);
1081
1082#[cfg(feature = "NSObject")]
1083extern_conformance!(
1084 unsafe impl NSCoding for NSWhoseSpecifier {}
1085);
1086
1087extern_conformance!(
1088 unsafe impl NSObjectProtocol for NSWhoseSpecifier {}
1089);
1090
1091impl NSWhoseSpecifier {
1092 extern_methods!(
1093 #[cfg(feature = "NSCoder")]
1094 #[unsafe(method(initWithCoder:))]
1095 #[unsafe(method_family = init)]
1096 pub unsafe fn initWithCoder(
1097 this: Allocated<Self>,
1098 in_coder: &NSCoder,
1099 ) -> Option<Retained<Self>>;
1100
1101 #[cfg(all(
1102 feature = "NSClassDescription",
1103 feature = "NSScriptClassDescription",
1104 feature = "NSScriptWhoseTests",
1105 feature = "NSString"
1106 ))]
1107 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:test:))]
1108 #[unsafe(method_family = init)]
1109 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_test(
1110 this: Allocated<Self>,
1111 class_desc: &NSScriptClassDescription,
1112 container: Option<&NSScriptObjectSpecifier>,
1113 property: &NSString,
1114 test: &NSScriptWhoseTest,
1115 ) -> Retained<Self>;
1116
1117 #[cfg(feature = "NSScriptWhoseTests")]
1118 #[unsafe(method(test))]
1119 #[unsafe(method_family = none)]
1120 pub unsafe fn test(&self) -> Retained<NSScriptWhoseTest>;
1121
1122 #[cfg(feature = "NSScriptWhoseTests")]
1123 #[unsafe(method(setTest:))]
1125 #[unsafe(method_family = none)]
1126 pub unsafe fn setTest(&self, test: &NSScriptWhoseTest);
1127
1128 #[unsafe(method(startSubelementIdentifier))]
1129 #[unsafe(method_family = none)]
1130 pub unsafe fn startSubelementIdentifier(&self) -> NSWhoseSubelementIdentifier;
1131
1132 #[unsafe(method(setStartSubelementIdentifier:))]
1134 #[unsafe(method_family = none)]
1135 pub unsafe fn setStartSubelementIdentifier(
1136 &self,
1137 start_subelement_identifier: NSWhoseSubelementIdentifier,
1138 );
1139
1140 #[unsafe(method(startSubelementIndex))]
1141 #[unsafe(method_family = none)]
1142 pub unsafe fn startSubelementIndex(&self) -> NSInteger;
1143
1144 #[unsafe(method(setStartSubelementIndex:))]
1146 #[unsafe(method_family = none)]
1147 pub unsafe fn setStartSubelementIndex(&self, start_subelement_index: NSInteger);
1148
1149 #[unsafe(method(endSubelementIdentifier))]
1150 #[unsafe(method_family = none)]
1151 pub unsafe fn endSubelementIdentifier(&self) -> NSWhoseSubelementIdentifier;
1152
1153 #[unsafe(method(setEndSubelementIdentifier:))]
1155 #[unsafe(method_family = none)]
1156 pub unsafe fn setEndSubelementIdentifier(
1157 &self,
1158 end_subelement_identifier: NSWhoseSubelementIdentifier,
1159 );
1160
1161 #[unsafe(method(endSubelementIndex))]
1162 #[unsafe(method_family = none)]
1163 pub unsafe fn endSubelementIndex(&self) -> NSInteger;
1164
1165 #[unsafe(method(setEndSubelementIndex:))]
1167 #[unsafe(method_family = none)]
1168 pub unsafe fn setEndSubelementIndex(&self, end_subelement_index: NSInteger);
1169 );
1170}
1171
1172impl NSWhoseSpecifier {
1174 extern_methods!(
1175 #[cfg(feature = "NSString")]
1176 #[unsafe(method(initWithContainerSpecifier:key:))]
1177 #[unsafe(method_family = init)]
1178 pub unsafe fn initWithContainerSpecifier_key(
1179 this: Allocated<Self>,
1180 container: &NSScriptObjectSpecifier,
1181 property: &NSString,
1182 ) -> Retained<Self>;
1183
1184 #[cfg(all(
1185 feature = "NSClassDescription",
1186 feature = "NSScriptClassDescription",
1187 feature = "NSString"
1188 ))]
1189 #[unsafe(method(initWithContainerClassDescription:containerSpecifier:key:))]
1190 #[unsafe(method_family = init)]
1191 pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
1192 this: Allocated<Self>,
1193 class_desc: &NSScriptClassDescription,
1194 container: Option<&NSScriptObjectSpecifier>,
1195 property: &NSString,
1196 ) -> Retained<Self>;
1197 );
1198}
1199
1200impl NSWhoseSpecifier {
1202 extern_methods!(
1203 #[unsafe(method(init))]
1204 #[unsafe(method_family = init)]
1205 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1206
1207 #[unsafe(method(new))]
1208 #[unsafe(method_family = new)]
1209 pub unsafe fn new() -> Retained<Self>;
1210 );
1211}