icrate 0.1.2

Bindings to Apple's frameworks
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use crate::common::*;
use crate::AppKit::*;
use crate::CoreData::*;
use crate::Foundation::*;

typed_extensible_enum!(
    pub type NSDraggingImageComponentKey = NSString;
);

extern_static!(NSDraggingImageComponentIconKey: &'static NSDraggingImageComponentKey);

extern_static!(NSDraggingImageComponentLabelKey: &'static NSDraggingImageComponentKey);

extern_class!(
    #[derive(Debug, PartialEq, Eq, Hash)]
    #[cfg(feature = "AppKit_NSDraggingImageComponent")]
    pub struct NSDraggingImageComponent;

    #[cfg(feature = "AppKit_NSDraggingImageComponent")]
    unsafe impl ClassType for NSDraggingImageComponent {
        type Super = NSObject;
        type Mutability = InteriorMutable;
    }
);

#[cfg(feature = "AppKit_NSDraggingImageComponent")]
unsafe impl NSObjectProtocol for NSDraggingImageComponent {}

extern_methods!(
    #[cfg(feature = "AppKit_NSDraggingImageComponent")]
    unsafe impl NSDraggingImageComponent {
        #[method_id(@__retain_semantics Other draggingImageComponentWithKey:)]
        pub unsafe fn draggingImageComponentWithKey(
            key: &NSDraggingImageComponentKey,
        ) -> Id<NSDraggingImageComponent>;

        #[method_id(@__retain_semantics Init initWithKey:)]
        pub unsafe fn initWithKey(
            this: Allocated<Self>,
            key: &NSDraggingImageComponentKey,
        ) -> Id<Self>;

        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;

        #[method_id(@__retain_semantics Other key)]
        pub unsafe fn key(&self) -> Id<NSDraggingImageComponentKey>;

        #[method(setKey:)]
        pub unsafe fn setKey(&self, key: &NSDraggingImageComponentKey);

        #[method_id(@__retain_semantics Other contents)]
        pub unsafe fn contents(&self) -> Option<Id<AnyObject>>;

        #[method(setContents:)]
        pub unsafe fn setContents(&self, contents: Option<&AnyObject>);

        #[method(frame)]
        pub unsafe fn frame(&self) -> NSRect;

        #[method(setFrame:)]
        pub unsafe fn setFrame(&self, frame: NSRect);
    }
);

extern_methods!(
    /// Methods declared on superclass `NSObject`
    #[cfg(feature = "AppKit_NSDraggingImageComponent")]
    unsafe impl NSDraggingImageComponent {
        #[method_id(@__retain_semantics New new)]
        pub unsafe fn new() -> Id<Self>;
    }
);

extern_class!(
    #[derive(Debug, PartialEq, Eq, Hash)]
    #[cfg(feature = "AppKit_NSDraggingItem")]
    pub struct NSDraggingItem;

    #[cfg(feature = "AppKit_NSDraggingItem")]
    unsafe impl ClassType for NSDraggingItem {
        type Super = NSObject;
        type Mutability = InteriorMutable;
    }
);

#[cfg(feature = "AppKit_NSDraggingItem")]
unsafe impl NSObjectProtocol for NSDraggingItem {}

extern_methods!(
    #[cfg(feature = "AppKit_NSDraggingItem")]
    unsafe impl NSDraggingItem {
        #[method_id(@__retain_semantics Init initWithPasteboardWriter:)]
        pub unsafe fn initWithPasteboardWriter(
            this: Allocated<Self>,
            pasteboard_writer: &ProtocolObject<dyn NSPasteboardWriting>,
        ) -> Id<Self>;

        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;

        #[method_id(@__retain_semantics Other item)]
        pub unsafe fn item(&self) -> Id<AnyObject>;

        #[method(draggingFrame)]
        pub unsafe fn draggingFrame(&self) -> NSRect;

        #[method(setDraggingFrame:)]
        pub unsafe fn setDraggingFrame(&self, dragging_frame: NSRect);

        #[cfg(all(
            feature = "AppKit_NSDraggingImageComponent",
            feature = "Foundation_NSArray"
        ))]
        #[method(imageComponentsProvider)]
        pub unsafe fn imageComponentsProvider(
            &self,
        ) -> *mut Block<(), NonNull<NSArray<NSDraggingImageComponent>>>;

        #[cfg(all(
            feature = "AppKit_NSDraggingImageComponent",
            feature = "Foundation_NSArray"
        ))]
        #[method(setImageComponentsProvider:)]
        pub unsafe fn setImageComponentsProvider(
            &self,
            image_components_provider: Option<
                &Block<(), NonNull<NSArray<NSDraggingImageComponent>>>,
            >,
        );

        #[method(setDraggingFrame:contents:)]
        pub unsafe fn setDraggingFrame_contents(&self, frame: NSRect, contents: Option<&AnyObject>);

        #[cfg(all(
            feature = "AppKit_NSDraggingImageComponent",
            feature = "Foundation_NSArray"
        ))]
        #[method_id(@__retain_semantics Other imageComponents)]
        pub unsafe fn imageComponents(&self) -> Option<Id<NSArray<NSDraggingImageComponent>>>;
    }
);

extern_methods!(
    /// Methods declared on superclass `NSObject`
    #[cfg(feature = "AppKit_NSDraggingItem")]
    unsafe impl NSDraggingItem {
        #[method_id(@__retain_semantics New new)]
        pub unsafe fn new() -> Id<Self>;
    }
);