use crate::common::*;
use crate::Foundation::*;
ns_enum!(
#[underlying(NSInteger)]
pub enum {
NSNoSpecifierError = 0,
NSNoTopLevelContainersSpecifierError = 1,
NSContainerSpecifierError = 2,
NSUnknownKeySpecifierError = 3,
NSInvalidIndexSpecifierError = 4,
NSInternalSpecifierError = 5,
NSOperationNotSupportedForKeySpecifierError = 6,
}
);
ns_enum!(
#[underlying(NSUInteger)]
pub enum NSInsertionPosition {
NSPositionAfter = 0,
NSPositionBefore = 1,
NSPositionBeginning = 2,
NSPositionEnd = 3,
NSPositionReplace = 4,
}
);
ns_enum!(
#[underlying(NSUInteger)]
pub enum NSRelativePosition {
NSRelativeAfter = 0,
NSRelativeBefore = 1,
}
);
ns_enum!(
#[underlying(NSUInteger)]
pub enum NSWhoseSubelementIdentifier {
NSIndexSubelement = 0,
NSEverySubelement = 1,
NSMiddleSubelement = 2,
NSRandomSubelement = 3,
NSNoSubelement = 4,
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSScriptObjectSpecifier;
unsafe impl ClassType for NSScriptObjectSpecifier {
type Super = NSObject;
}
);
extern_methods!(
unsafe impl NSScriptObjectSpecifier {
#[method_id(@__retain_semantics Other objectSpecifierWithDescriptor:)]
pub unsafe fn objectSpecifierWithDescriptor(
descriptor: &NSAppleEventDescriptor,
) -> Option<Id<NSScriptObjectSpecifier, Shared>>;
#[method_id(@__retain_semantics Init initWithContainerSpecifier:key:)]
pub unsafe fn initWithContainerSpecifier_key(
this: Option<Allocated<Self>>,
container: &NSScriptObjectSpecifier,
property: &NSString,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(
this: Option<Allocated<Self>>,
inCoder: &NSCoder,
) -> Option<Id<Self, Shared>>;
#[method_id(@__retain_semantics Other childSpecifier)]
pub unsafe fn childSpecifier(&self) -> Option<Id<NSScriptObjectSpecifier, Shared>>;
#[method(setChildSpecifier:)]
pub unsafe fn setChildSpecifier(&self, childSpecifier: Option<&NSScriptObjectSpecifier>);
#[method_id(@__retain_semantics Other containerSpecifier)]
pub unsafe fn containerSpecifier(&self) -> Option<Id<NSScriptObjectSpecifier, Shared>>;
#[method(setContainerSpecifier:)]
pub unsafe fn setContainerSpecifier(
&self,
containerSpecifier: Option<&NSScriptObjectSpecifier>,
);
#[method(containerIsObjectBeingTested)]
pub unsafe fn containerIsObjectBeingTested(&self) -> bool;
#[method(setContainerIsObjectBeingTested:)]
pub unsafe fn setContainerIsObjectBeingTested(&self, containerIsObjectBeingTested: bool);
#[method(containerIsRangeContainerObject)]
pub unsafe fn containerIsRangeContainerObject(&self) -> bool;
#[method(setContainerIsRangeContainerObject:)]
pub unsafe fn setContainerIsRangeContainerObject(
&self,
containerIsRangeContainerObject: bool,
);
#[method_id(@__retain_semantics Other key)]
pub unsafe fn key(&self) -> Id<NSString, Shared>;
#[method(setKey:)]
pub unsafe fn setKey(&self, key: &NSString);
#[method_id(@__retain_semantics Other containerClassDescription)]
pub unsafe fn containerClassDescription(
&self,
) -> Option<Id<NSScriptClassDescription, Shared>>;
#[method(setContainerClassDescription:)]
pub unsafe fn setContainerClassDescription(
&self,
containerClassDescription: Option<&NSScriptClassDescription>,
);
#[method_id(@__retain_semantics Other keyClassDescription)]
pub unsafe fn keyClassDescription(&self) -> Option<Id<NSScriptClassDescription, Shared>>;
#[method(indicesOfObjectsByEvaluatingWithContainer:count:)]
pub unsafe fn indicesOfObjectsByEvaluatingWithContainer_count(
&self,
container: &Object,
count: NonNull<NSInteger>,
) -> *mut NSInteger;
#[method_id(@__retain_semantics Other objectsByEvaluatingWithContainers:)]
pub unsafe fn objectsByEvaluatingWithContainers(
&self,
containers: &Object,
) -> Option<Id<Object, Shared>>;
#[method_id(@__retain_semantics Other objectsByEvaluatingSpecifier)]
pub unsafe fn objectsByEvaluatingSpecifier(&self) -> Option<Id<Object, Shared>>;
#[method(evaluationErrorNumber)]
pub unsafe fn evaluationErrorNumber(&self) -> NSInteger;
#[method(setEvaluationErrorNumber:)]
pub unsafe fn setEvaluationErrorNumber(&self, evaluationErrorNumber: NSInteger);
#[method_id(@__retain_semantics Other evaluationErrorSpecifier)]
pub unsafe fn evaluationErrorSpecifier(
&self,
) -> Option<Id<NSScriptObjectSpecifier, Shared>>;
#[method_id(@__retain_semantics Other descriptor)]
pub unsafe fn descriptor(&self) -> Option<Id<NSAppleEventDescriptor, Shared>>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSIndexSpecifier;
unsafe impl ClassType for NSIndexSpecifier {
#[inherits(NSObject)]
type Super = NSScriptObjectSpecifier;
}
);
extern_methods!(
unsafe impl NSIndexSpecifier {
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:index:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_index(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
index: NSInteger,
) -> Id<Self, Shared>;
#[method(index)]
pub unsafe fn index(&self) -> NSInteger;
#[method(setIndex:)]
pub unsafe fn setIndex(&self, index: NSInteger);
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSMiddleSpecifier;
unsafe impl ClassType for NSMiddleSpecifier {
#[inherits(NSObject)]
type Super = NSScriptObjectSpecifier;
}
);
extern_methods!(
unsafe impl NSMiddleSpecifier {}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSNameSpecifier;
unsafe impl ClassType for NSNameSpecifier {
#[inherits(NSObject)]
type Super = NSScriptObjectSpecifier;
}
);
extern_methods!(
unsafe impl NSNameSpecifier {
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(
this: Option<Allocated<Self>>,
inCoder: &NSCoder,
) -> Option<Id<Self, Shared>>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:name:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_name(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
name: &NSString,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Other name)]
pub unsafe fn name(&self) -> Id<NSString, Shared>;
#[method(setName:)]
pub unsafe fn setName(&self, name: &NSString);
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSPositionalSpecifier;
unsafe impl ClassType for NSPositionalSpecifier {
type Super = NSObject;
}
);
extern_methods!(
unsafe impl NSPositionalSpecifier {
#[method_id(@__retain_semantics Init initWithPosition:objectSpecifier:)]
pub unsafe fn initWithPosition_objectSpecifier(
this: Option<Allocated<Self>>,
position: NSInsertionPosition,
specifier: &NSScriptObjectSpecifier,
) -> Id<Self, Shared>;
#[method(position)]
pub unsafe fn position(&self) -> NSInsertionPosition;
#[method_id(@__retain_semantics Other objectSpecifier)]
pub unsafe fn objectSpecifier(&self) -> Id<NSScriptObjectSpecifier, Shared>;
#[method(setInsertionClassDescription:)]
pub unsafe fn setInsertionClassDescription(
&self,
classDescription: &NSScriptClassDescription,
);
#[method(evaluate)]
pub unsafe fn evaluate(&self);
#[method_id(@__retain_semantics Other insertionContainer)]
pub unsafe fn insertionContainer(&self) -> Option<Id<Object, Shared>>;
#[method_id(@__retain_semantics Other insertionKey)]
pub unsafe fn insertionKey(&self) -> Option<Id<NSString, Shared>>;
#[method(insertionIndex)]
pub unsafe fn insertionIndex(&self) -> NSInteger;
#[method(insertionReplaces)]
pub unsafe fn insertionReplaces(&self) -> bool;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSPropertySpecifier;
unsafe impl ClassType for NSPropertySpecifier {
#[inherits(NSObject)]
type Super = NSScriptObjectSpecifier;
}
);
extern_methods!(
unsafe impl NSPropertySpecifier {}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSRandomSpecifier;
unsafe impl ClassType for NSRandomSpecifier {
#[inherits(NSObject)]
type Super = NSScriptObjectSpecifier;
}
);
extern_methods!(
unsafe impl NSRandomSpecifier {}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSRangeSpecifier;
unsafe impl ClassType for NSRangeSpecifier {
#[inherits(NSObject)]
type Super = NSScriptObjectSpecifier;
}
);
extern_methods!(
unsafe impl NSRangeSpecifier {
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(
this: Option<Allocated<Self>>,
inCoder: &NSCoder,
) -> Option<Id<Self, Shared>>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:startSpecifier:endSpecifier:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_startSpecifier_endSpecifier(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
startSpec: Option<&NSScriptObjectSpecifier>,
endSpec: Option<&NSScriptObjectSpecifier>,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Other startSpecifier)]
pub unsafe fn startSpecifier(&self) -> Option<Id<NSScriptObjectSpecifier, Shared>>;
#[method(setStartSpecifier:)]
pub unsafe fn setStartSpecifier(&self, startSpecifier: Option<&NSScriptObjectSpecifier>);
#[method_id(@__retain_semantics Other endSpecifier)]
pub unsafe fn endSpecifier(&self) -> Option<Id<NSScriptObjectSpecifier, Shared>>;
#[method(setEndSpecifier:)]
pub unsafe fn setEndSpecifier(&self, endSpecifier: Option<&NSScriptObjectSpecifier>);
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSRelativeSpecifier;
unsafe impl ClassType for NSRelativeSpecifier {
#[inherits(NSObject)]
type Super = NSScriptObjectSpecifier;
}
);
extern_methods!(
unsafe impl NSRelativeSpecifier {
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(
this: Option<Allocated<Self>>,
inCoder: &NSCoder,
) -> Option<Id<Self, Shared>>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:relativePosition:baseSpecifier:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_relativePosition_baseSpecifier(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
relPos: NSRelativePosition,
baseSpecifier: Option<&NSScriptObjectSpecifier>,
) -> Id<Self, Shared>;
#[method(relativePosition)]
pub unsafe fn relativePosition(&self) -> NSRelativePosition;
#[method(setRelativePosition:)]
pub unsafe fn setRelativePosition(&self, relativePosition: NSRelativePosition);
#[method_id(@__retain_semantics Other baseSpecifier)]
pub unsafe fn baseSpecifier(&self) -> Option<Id<NSScriptObjectSpecifier, Shared>>;
#[method(setBaseSpecifier:)]
pub unsafe fn setBaseSpecifier(&self, baseSpecifier: Option<&NSScriptObjectSpecifier>);
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSUniqueIDSpecifier;
unsafe impl ClassType for NSUniqueIDSpecifier {
#[inherits(NSObject)]
type Super = NSScriptObjectSpecifier;
}
);
extern_methods!(
unsafe impl NSUniqueIDSpecifier {
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(
this: Option<Allocated<Self>>,
inCoder: &NSCoder,
) -> Option<Id<Self, Shared>>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:uniqueID:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_uniqueID(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
uniqueID: &Object,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Other uniqueID)]
pub unsafe fn uniqueID(&self) -> Id<Object, Shared>;
#[method(setUniqueID:)]
pub unsafe fn setUniqueID(&self, uniqueID: &Object);
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSWhoseSpecifier;
unsafe impl ClassType for NSWhoseSpecifier {
#[inherits(NSObject)]
type Super = NSScriptObjectSpecifier;
}
);
extern_methods!(
unsafe impl NSWhoseSpecifier {
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(
this: Option<Allocated<Self>>,
inCoder: &NSCoder,
) -> Option<Id<Self, Shared>>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:test:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key_test(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
test: &NSScriptWhoseTest,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Other test)]
pub unsafe fn test(&self) -> Id<NSScriptWhoseTest, Shared>;
#[method(setTest:)]
pub unsafe fn setTest(&self, test: &NSScriptWhoseTest);
#[method(startSubelementIdentifier)]
pub unsafe fn startSubelementIdentifier(&self) -> NSWhoseSubelementIdentifier;
#[method(setStartSubelementIdentifier:)]
pub unsafe fn setStartSubelementIdentifier(
&self,
startSubelementIdentifier: NSWhoseSubelementIdentifier,
);
#[method(startSubelementIndex)]
pub unsafe fn startSubelementIndex(&self) -> NSInteger;
#[method(setStartSubelementIndex:)]
pub unsafe fn setStartSubelementIndex(&self, startSubelementIndex: NSInteger);
#[method(endSubelementIdentifier)]
pub unsafe fn endSubelementIdentifier(&self) -> NSWhoseSubelementIdentifier;
#[method(setEndSubelementIdentifier:)]
pub unsafe fn setEndSubelementIdentifier(
&self,
endSubelementIdentifier: NSWhoseSubelementIdentifier,
);
#[method(endSubelementIndex)]
pub unsafe fn endSubelementIndex(&self) -> NSInteger;
#[method(setEndSubelementIndex:)]
pub unsafe fn setEndSubelementIndex(&self, endSubelementIndex: NSInteger);
}
);
extern_methods!(
unsafe impl NSIndexSpecifier {
#[method_id(@__retain_semantics Init initWithContainerSpecifier:key:)]
pub unsafe fn initWithContainerSpecifier_key(
this: Option<Allocated<Self>>,
container: &NSScriptObjectSpecifier,
property: &NSString,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
) -> Id<Self, Shared>;
}
);
extern_methods!(
unsafe impl NSMiddleSpecifier {
#[method_id(@__retain_semantics Init initWithContainerSpecifier:key:)]
pub unsafe fn initWithContainerSpecifier_key(
this: Option<Allocated<Self>>,
container: &NSScriptObjectSpecifier,
property: &NSString,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
) -> Id<Self, Shared>;
}
);
extern_methods!(
unsafe impl NSNameSpecifier {
#[method_id(@__retain_semantics Init initWithContainerSpecifier:key:)]
pub unsafe fn initWithContainerSpecifier_key(
this: Option<Allocated<Self>>,
container: &NSScriptObjectSpecifier,
property: &NSString,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
) -> Id<Self, Shared>;
}
);
extern_methods!(
unsafe impl NSPropertySpecifier {
#[method_id(@__retain_semantics Init initWithContainerSpecifier:key:)]
pub unsafe fn initWithContainerSpecifier_key(
this: Option<Allocated<Self>>,
container: &NSScriptObjectSpecifier,
property: &NSString,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
) -> Id<Self, Shared>;
}
);
extern_methods!(
unsafe impl NSRandomSpecifier {
#[method_id(@__retain_semantics Init initWithContainerSpecifier:key:)]
pub unsafe fn initWithContainerSpecifier_key(
this: Option<Allocated<Self>>,
container: &NSScriptObjectSpecifier,
property: &NSString,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
) -> Id<Self, Shared>;
}
);
extern_methods!(
unsafe impl NSRangeSpecifier {
#[method_id(@__retain_semantics Init initWithContainerSpecifier:key:)]
pub unsafe fn initWithContainerSpecifier_key(
this: Option<Allocated<Self>>,
container: &NSScriptObjectSpecifier,
property: &NSString,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
) -> Id<Self, Shared>;
}
);
extern_methods!(
unsafe impl NSRelativeSpecifier {
#[method_id(@__retain_semantics Init initWithContainerSpecifier:key:)]
pub unsafe fn initWithContainerSpecifier_key(
this: Option<Allocated<Self>>,
container: &NSScriptObjectSpecifier,
property: &NSString,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
) -> Id<Self, Shared>;
}
);
extern_methods!(
unsafe impl NSUniqueIDSpecifier {
#[method_id(@__retain_semantics Init initWithContainerSpecifier:key:)]
pub unsafe fn initWithContainerSpecifier_key(
this: Option<Allocated<Self>>,
container: &NSScriptObjectSpecifier,
property: &NSString,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
) -> Id<Self, Shared>;
}
);
extern_methods!(
unsafe impl NSWhoseSpecifier {
#[method_id(@__retain_semantics Init initWithContainerSpecifier:key:)]
pub unsafe fn initWithContainerSpecifier_key(
this: Option<Allocated<Self>>,
container: &NSScriptObjectSpecifier,
property: &NSString,
) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Init initWithContainerClassDescription:containerSpecifier:key:)]
pub unsafe fn initWithContainerClassDescription_containerSpecifier_key(
this: Option<Allocated<Self>>,
classDesc: &NSScriptClassDescription,
container: Option<&NSScriptObjectSpecifier>,
property: &NSString,
) -> Id<Self, Shared>;
}
);