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::Foundation::*;
use crate::GameController::*;

ns_options!(
    #[underlying(NSUInteger)]
    pub enum GCPhysicalInputSourceDirection {
        GCPhysicalInputSourceDirectionNotApplicable = 0,
        GCPhysicalInputSourceDirectionUp = 1 << 0,
        GCPhysicalInputSourceDirectionRight = 1 << 1,
        GCPhysicalInputSourceDirectionDown = 1 << 2,
        GCPhysicalInputSourceDirectionLeft = 1 << 3,
    }
);

extern_protocol!(
    pub unsafe trait GCPhysicalInputSource: NSObjectProtocol {
        #[cfg(all(feature = "Foundation_NSSet", feature = "Foundation_NSString"))]
        #[method_id(@__retain_semantics Other elementAliases)]
        unsafe fn elementAliases(&self) -> Id<NSSet<NSString>>;

        #[cfg(feature = "Foundation_NSString")]
        #[method_id(@__retain_semantics Other elementLocalizedName)]
        unsafe fn elementLocalizedName(&self) -> Option<Id<NSString>>;

        #[cfg(feature = "Foundation_NSString")]
        #[method_id(@__retain_semantics Other sfSymbolsName)]
        unsafe fn sfSymbolsName(&self) -> Option<Id<NSString>>;

        #[method(direction)]
        unsafe fn direction(&self) -> GCPhysicalInputSourceDirection;
    }

    unsafe impl ProtocolType for dyn GCPhysicalInputSource {}
);