class Xcodeproj::Plist::FFI::DevToolsCore::NSObject
def self.extern(symbol, parameter_types, return_type)
def self.extern(symbol, parameter_types, return_type) CoreFoundation.extern_image(image, symbol, parameter_types, return_type) end
def self.image
def self.image @image ||= Fiddle::Handle.new end
def self.objc_class
def self.objc_class @objc_class ||= CoreFoundation.objc_getClass(name.split('::').last) end
def self.objc_msgSend(args, return_type = CoreFoundation::VoidPointer)
def self.objc_msgSend(args, return_type = CoreFoundation::VoidPointer) arguments = [CoreFoundation::VoidPointer, CoreFoundation::VoidPointer] + args Fiddle::Function.new(image['objc_msgSend'], arguments, return_type) end
def self.respondsToSelector(instance, sel)
def self.respondsToSelector(instance, sel) selector = CoreFoundation.NSSelectorFromString(CoreFoundation.RubyStringToCFString(sel)) respondsToSelector = objc_msgSend([CoreFoundation::CharPointer], CoreFoundation::Boolean) result = respondsToSelector.call( instance, CoreFoundation.NSSelectorFromString(CoreFoundation.RubyStringToCFString('respondsToSelector:')), selector) result == CoreFoundation::TRUE ? true : false end