[go: up one dir, main page]

objc-sys 0.3.5

Raw bindings to the Objective-C runtime and ABI
Documentation
use std::os::raw::c_char;

use crate::{OpaqueData, BOOL};

/// An opaque type that represents a method selector.
///
/// Selectors are immutable.
#[repr(C)]
pub struct objc_selector {
    _priv: [u8; 0],
    _p: OpaqueData,
}

extern_c! {
    pub fn sel_getName(sel: *const objc_selector) -> *const c_char;
    pub fn sel_isEqual(lhs: *const objc_selector, rhs: *const objc_selector) -> BOOL;
    pub fn sel_registerName(name: *const c_char) -> *const objc_selector;

    #[cfg(any(doc, not(feature = "unstable-objfw")))]
    pub fn sel_getUid(name: *const c_char) -> *const objc_selector;

    #[cfg(any(doc, target_vendor = "apple"))]
    pub fn sel_isMapped(sel: *const objc_selector) -> BOOL;
}