objc2-web-kit 0.3.1

Bindings to the WebKit framework
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;

use crate::*;

extern_class!(
    /// [Apple's documentation](https://developer.apple.com/documentation/webkit/domimplementation?language=objc)
    #[unsafe(super(DOMObject, WebScriptObject, NSObject))]
    #[derive(Debug, PartialEq, Eq, Hash)]
    #[cfg(all(feature = "DOMObject", feature = "WebScriptObject"))]
    #[deprecated]
    pub struct DOMImplementation;
);

#[cfg(all(feature = "DOMObject", feature = "WebScriptObject"))]
extern_conformance!(
    unsafe impl NSCopying for DOMImplementation {}
);

#[cfg(all(feature = "DOMObject", feature = "WebScriptObject"))]
unsafe impl CopyingHelper for DOMImplementation {
    type Result = Self;
}

#[cfg(all(feature = "DOMObject", feature = "WebScriptObject"))]
extern_conformance!(
    unsafe impl NSObjectProtocol for DOMImplementation {}
);

#[cfg(all(feature = "DOMObject", feature = "WebScriptObject"))]
impl DOMImplementation {
    extern_methods!(
        #[unsafe(method(hasFeature:version:))]
        #[unsafe(method_family = none)]
        pub unsafe fn hasFeature_version(
            &self,
            feature: Option<&NSString>,
            version: Option<&NSString>,
        ) -> bool;

        #[cfg(all(feature = "DOMDocumentType", feature = "DOMNode"))]
        #[unsafe(method(createDocumentType:publicId:systemId:))]
        #[unsafe(method_family = none)]
        pub unsafe fn createDocumentType_publicId_systemId(
            &self,
            qualified_name: Option<&NSString>,
            public_id: Option<&NSString>,
            system_id: Option<&NSString>,
        ) -> Option<Retained<DOMDocumentType>>;

        #[cfg(all(
            feature = "DOMDocument",
            feature = "DOMDocumentType",
            feature = "DOMNode"
        ))]
        #[unsafe(method(createDocument:qualifiedName:doctype:))]
        #[unsafe(method_family = none)]
        pub unsafe fn createDocument_qualifiedName_doctype(
            &self,
            namespace_uri: Option<&NSString>,
            qualified_name: Option<&NSString>,
            doctype: Option<&DOMDocumentType>,
        ) -> Option<Retained<DOMDocument>>;

        #[cfg(all(feature = "DOMCSSStyleSheet", feature = "DOMStyleSheet"))]
        #[unsafe(method(createCSSStyleSheet:media:))]
        #[unsafe(method_family = none)]
        pub unsafe fn createCSSStyleSheet_media(
            &self,
            title: Option<&NSString>,
            media: Option<&NSString>,
        ) -> Option<Retained<DOMCSSStyleSheet>>;

        #[cfg(all(
            feature = "DOMDocument",
            feature = "DOMHTMLDocument",
            feature = "DOMNode"
        ))]
        #[unsafe(method(createHTMLDocument:))]
        #[unsafe(method_family = none)]
        pub unsafe fn createHTMLDocument(
            &self,
            title: Option<&NSString>,
        ) -> Option<Retained<DOMHTMLDocument>>;
    );
}

/// Methods declared on superclass `DOMObject`.
#[cfg(all(feature = "DOMObject", feature = "WebScriptObject"))]
impl DOMImplementation {
    extern_methods!(
        #[deprecated]
        #[unsafe(method(init))]
        #[unsafe(method_family = init)]
        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
    );
}

/// Methods declared on superclass `NSObject`.
#[cfg(all(feature = "DOMObject", feature = "WebScriptObject"))]
impl DOMImplementation {
    extern_methods!(
        #[unsafe(method(new))]
        #[unsafe(method_family = new)]
        pub unsafe fn new() -> Retained<Self>;
    );
}

/// DOMImplementationDeprecated.
#[cfg(all(feature = "DOMObject", feature = "WebScriptObject"))]
impl DOMImplementation {
    extern_methods!(
        #[deprecated]
        #[unsafe(method(hasFeature::))]
        #[unsafe(method_family = none)]
        pub unsafe fn hasFeature(
            &self,
            feature: Option<&NSString>,
            version: Option<&NSString>,
        ) -> bool;

        #[cfg(all(feature = "DOMDocumentType", feature = "DOMNode"))]
        #[deprecated]
        #[unsafe(method(createDocumentType:::))]
        #[unsafe(method_family = none)]
        pub unsafe fn createDocumentType(
            &self,
            qualified_name: Option<&NSString>,
            public_id: Option<&NSString>,
            system_id: Option<&NSString>,
        ) -> Option<Retained<DOMDocumentType>>;

        #[cfg(all(
            feature = "DOMDocument",
            feature = "DOMDocumentType",
            feature = "DOMNode"
        ))]
        #[deprecated]
        #[unsafe(method(createDocument:::))]
        #[unsafe(method_family = none)]
        pub unsafe fn createDocument(
            &self,
            namespace_uri: Option<&NSString>,
            qualified_name: Option<&NSString>,
            doctype: Option<&DOMDocumentType>,
        ) -> Option<Retained<DOMDocument>>;

        #[cfg(all(feature = "DOMCSSStyleSheet", feature = "DOMStyleSheet"))]
        #[deprecated]
        #[unsafe(method(createCSSStyleSheet::))]
        #[unsafe(method_family = none)]
        pub unsafe fn createCSSStyleSheet(
            &self,
            title: Option<&NSString>,
            media: Option<&NSString>,
        ) -> Option<Retained<DOMCSSStyleSheet>>;
    );
}