use crate::common::*;
use crate::AppKit::*;
use crate::Foundation::*;
use crate::GameController::*;
extern_protocol!(
pub unsafe trait GCDevice: NSObjectProtocol {
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other vendorName)]
unsafe fn vendorName(&self) -> Option<Id<NSString>>;
#[cfg(feature = "Foundation_NSString")]
#[method_id(@__retain_semantics Other productCategory)]
unsafe fn productCategory(&self) -> Id<NSString>;
#[cfg(feature = "GameController_GCPhysicalInputProfile")]
#[deprecated = "Use the physicalInputProfile property on GCController instead. For GCKeyboard, use the keyboardInput property. For GCMouse, use the mouseInput property."]
#[method_id(@__retain_semantics Other physicalInputProfile)]
unsafe fn physicalInputProfile(&self) -> Id<GCPhysicalInputProfile>;
}
unsafe impl ProtocolType for dyn GCDevice {}
);