use objc2::__framework_prelude::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "NSClassDescription")]
pub struct NSScriptClassDescription;
#[cfg(feature = "NSClassDescription")]
unsafe impl ClassType for NSScriptClassDescription {
#[inherits(NSObject)]
type Super = NSClassDescription;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "NSClassDescription")]
unsafe impl NSObjectProtocol for NSScriptClassDescription {}
extern_methods!(
#[cfg(feature = "NSClassDescription")]
unsafe impl NSScriptClassDescription {
#[method_id(@__retain_semantics Other classDescriptionForClass:)]
pub unsafe fn classDescriptionForClass(
a_class: &AnyClass,
) -> Option<Retained<NSScriptClassDescription>>;
#[cfg(all(feature = "NSDictionary", feature = "NSString"))]
#[method_id(@__retain_semantics Init initWithSuiteName:className:dictionary:)]
pub unsafe fn initWithSuiteName_className_dictionary(
this: Allocated<Self>,
suite_name: &NSString,
class_name: &NSString,
class_declaration: Option<&NSDictionary>,
) -> Option<Retained<Self>>;
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other suiteName)]
pub unsafe fn suiteName(&self) -> Option<Retained<NSString>>;
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other className)]
pub unsafe fn className(&self) -> Option<Retained<NSString>>;
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other implementationClassName)]
pub unsafe fn implementationClassName(&self) -> Option<Retained<NSString>>;
#[method_id(@__retain_semantics Other superclassDescription)]
pub unsafe fn superclassDescription(&self) -> Option<Retained<NSScriptClassDescription>>;
#[method(appleEventCode)]
pub unsafe fn appleEventCode(&self) -> FourCharCode;
#[method(matchesAppleEventCode:)]
pub unsafe fn matchesAppleEventCode(&self, apple_event_code: FourCharCode) -> bool;
#[cfg(feature = "NSScriptCommandDescription")]
#[method(supportsCommand:)]
pub unsafe fn supportsCommand(
&self,
command_description: &NSScriptCommandDescription,
) -> bool;
#[cfg(feature = "NSScriptCommandDescription")]
#[method(selectorForCommand:)]
pub unsafe fn selectorForCommand(
&self,
command_description: &NSScriptCommandDescription,
) -> Option<Sel>;
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other typeForKey:)]
pub unsafe fn typeForKey(&self, key: &NSString) -> Option<Retained<NSString>>;
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other classDescriptionForKey:)]
pub unsafe fn classDescriptionForKey(
&self,
key: &NSString,
) -> Option<Retained<NSScriptClassDescription>>;
#[cfg(feature = "NSString")]
#[method(appleEventCodeForKey:)]
pub unsafe fn appleEventCodeForKey(&self, key: &NSString) -> FourCharCode;
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other keyWithAppleEventCode:)]
pub unsafe fn keyWithAppleEventCode(
&self,
apple_event_code: FourCharCode,
) -> Option<Retained<NSString>>;
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other defaultSubcontainerAttributeKey)]
pub unsafe fn defaultSubcontainerAttributeKey(&self) -> Option<Retained<NSString>>;
#[cfg(feature = "NSString")]
#[method(isLocationRequiredToCreateForKey:)]
pub unsafe fn isLocationRequiredToCreateForKey(
&self,
to_many_relationship_key: &NSString,
) -> bool;
#[cfg(feature = "NSString")]
#[method(hasPropertyForKey:)]
pub unsafe fn hasPropertyForKey(&self, key: &NSString) -> bool;
#[cfg(feature = "NSString")]
#[method(hasOrderedToManyRelationshipForKey:)]
pub unsafe fn hasOrderedToManyRelationshipForKey(&self, key: &NSString) -> bool;
#[cfg(feature = "NSString")]
#[method(hasReadablePropertyForKey:)]
pub unsafe fn hasReadablePropertyForKey(&self, key: &NSString) -> bool;
#[cfg(feature = "NSString")]
#[method(hasWritablePropertyForKey:)]
pub unsafe fn hasWritablePropertyForKey(&self, key: &NSString) -> bool;
}
);
extern_methods!(
#[cfg(feature = "NSClassDescription")]
unsafe impl NSScriptClassDescription {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Retained<Self>;
}
);
extern_methods!(
#[cfg(feature = "NSClassDescription")]
unsafe impl NSScriptClassDescription {
#[cfg(feature = "NSString")]
#[deprecated]
#[method(isReadOnlyKey:)]
pub unsafe fn isReadOnlyKey(&self, key: &NSString) -> bool;
}
);
extern_category!(
#[doc(alias = "NSScriptClassDescription")]
pub unsafe trait NSObjectNSScriptClassDescription {
#[method(classCode)]
unsafe fn classCode(&self) -> FourCharCode;
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other className)]
unsafe fn className(&self) -> Retained<NSString>;
}
unsafe impl NSObjectNSScriptClassDescription for NSObject {}
);