pub struct IOBluetoothServiceBrowserController { /* private fields */ }IOBluetoothServiceBrowserController only.Expand description
A NSWindowController subclass to display a window to search for and perform SDP queries on bluetooth devices within range.
This NSWindowController subclass will bring up a generic Bluetooth search and SDP browsing window allowing the user to find devices within range, perform SDP queries on a particular device, and select a SDP service to connect to. The client application can provide NSArrays of valid service UUIDs to allow, and an NSArray of valid device types to allow. The device type filter is not yet implemented.
See also Apple’s documentation
Implementations§
Source§impl IOBluetoothServiceBrowserController
impl IOBluetoothServiceBrowserController
Sourcepub unsafe fn serviceBrowserController(
in_options: IOBluetoothServiceBrowserControllerOptions,
mtm: MainThreadMarker,
) -> Option<Retained<IOBluetoothServiceBrowserController>>
Available on crate features objc2 and IOBluetoothUIUserLib only.
pub unsafe fn serviceBrowserController( in_options: IOBluetoothServiceBrowserControllerOptions, mtm: MainThreadMarker, ) -> Option<Retained<IOBluetoothServiceBrowserController>>
objc2 and IOBluetoothUIUserLib only.Allocator work Bluetooth Service Browser window controller.
Parameter inOptions: Bit field for options to set in the newly allocated controller. Currently no options are available.
Returns: a new instance of the IOBluetoothServiceBrowserController Controller, nil if unsuccessful.
Sourcepub unsafe fn browseDevices_options(
out_record: Option<&mut Option<Retained<IOBluetoothSDPServiceRecord>>>,
in_options: IOBluetoothServiceBrowserControllerOptions,
mtm: MainThreadMarker,
) -> c_int
👎DeprecatedAvailable on crate features objc2 and IOBluetoothUIUserLib and objc2-io-bluetooth only.
pub unsafe fn browseDevices_options( out_record: Option<&mut Option<Retained<IOBluetoothSDPServiceRecord>>>, in_options: IOBluetoothServiceBrowserControllerOptions, mtm: MainThreadMarker, ) -> c_int
objc2 and IOBluetoothUIUserLib and objc2-io-bluetooth only.WARNING This method has been deprecated in favor of -setOptions:, -runModal and -getResults.
Parameter outRecord: Pointer to a (IOBluetoothSDPServiceRecord *) object. This will get allocated and returned to the client if the user selects a service.
Parameter inOptions: For future expansion. Currently no options defined.
Returns: IOReturn -
kIOReturnSuccess - on successful completion.
kCanceledErr - User canceled.
This method allocates and runs the browser window as a modal window waiting for the user to either select a service, or cancel the browser window.
§Safety
out_record might not allow None.
Sourcepub unsafe fn browseDevicesAsSheetForWindow_options_window(
out_record: Option<&mut Option<Retained<IOBluetoothSDPServiceRecord>>>,
in_options: IOBluetoothServiceBrowserControllerOptions,
in_window: Option<&NSWindow>,
mtm: MainThreadMarker,
) -> c_int
👎DeprecatedAvailable on crate features objc2 and IOBluetoothUIUserLib and objc2-io-bluetooth only.
pub unsafe fn browseDevicesAsSheetForWindow_options_window( out_record: Option<&mut Option<Retained<IOBluetoothSDPServiceRecord>>>, in_options: IOBluetoothServiceBrowserControllerOptions, in_window: Option<&NSWindow>, mtm: MainThreadMarker, ) -> c_int
objc2 and IOBluetoothUIUserLib and objc2-io-bluetooth only.WARNING This method has been deprecated in favor of - beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:.
Parameter outRecord: Pointer to a (IOBluetoothSDPServiceRecord *) object. This will get allocated and returned to the client if the user selects a service.
Parameter inOptions: For future expansion. Currently no options defined.
Parameter inWindow: The window to be used as the anchor of the sheet.
Returns: IOReturn - kIOReturnSuccess - on successful completion. kCanceledErr - User canceled.
This method will allocate and run the IOBluetoothServiceBrowserController browser window as a sheet for a window.
§Safety
out_recordmight not allowNone.in_windowmight not allowNone.
Sourcepub unsafe fn withServiceBrowserControllerRef(
service_browser_controller_ref: Option<&IOBluetoothServiceBrowserControllerRef>,
mtm: MainThreadMarker,
) -> Option<Retained<IOBluetoothServiceBrowserController>>
Available on crate features objc2 and IOBluetoothUIUserLib only.
pub unsafe fn withServiceBrowserControllerRef( service_browser_controller_ref: Option<&IOBluetoothServiceBrowserControllerRef>, mtm: MainThreadMarker, ) -> Option<Retained<IOBluetoothServiceBrowserController>>
objc2 and IOBluetoothUIUserLib only.Method call to convert an IOBluetoothServiceBrowserControllerRef into an IOBluetoothServiceBrowserController *.
Parameter serviceBrowserControllerRef: IOBluetoothServiceBrowserControllerRef for which an IOBluetoothServiceBrowserController * is desired.
Returns: Returns the IOBluetoothServiceBrowserController * for the given IOBluetoothServiceBrowserControllerRef.
§Safety
service_browser_controller_ref might not allow None.
Sourcepub unsafe fn getServiceBrowserControllerRef(
&self,
) -> Option<Retained<IOBluetoothServiceBrowserControllerRef>>
Available on crate features objc2 and IOBluetoothUIUserLib only.
pub unsafe fn getServiceBrowserControllerRef( &self, ) -> Option<Retained<IOBluetoothServiceBrowserControllerRef>>
objc2 and IOBluetoothUIUserLib only.Returns an IOBluetoothServiceBrowserControllerRef representation of the target IOBluetoothServiceBrowserController object.
Returns: Returns an IOBluetoothServiceBrowserControllerRef representation of the target IOBluetoothServiceBrowserController object.
Sourcepub unsafe fn discover(
&self,
out_record: Option<&mut Option<Retained<IOBluetoothSDPServiceRecord>>>,
) -> c_int
👎DeprecatedAvailable on crate features objc2 and objc2-io-bluetooth only.
pub unsafe fn discover( &self, out_record: Option<&mut Option<Retained<IOBluetoothSDPServiceRecord>>>, ) -> c_int
objc2 and objc2-io-bluetooth only.Invoke an already created window controller to display, and run the modal dialog.
WARNING This method has been deprecated in favor of -runModal and -getResults.
Parameter outRecord: Pointer to a (IOBluetoothSDPServiceRecord *) object. This will get allocated and returned to the client if the user selects a service.
Returns: IOReturn - kIOReturnSuccess - on successful completion. kCanceledErr - User canceled.
This method will run the IOBluetoothServiceBrowserController browser window modally.
§Safety
out_record might not allow None.
Sourcepub unsafe fn discoverAsSheetForWindow_withRecord(
&self,
sheet_window: Option<&NSWindow>,
out_record: Option<&mut Option<Retained<IOBluetoothSDPServiceRecord>>>,
) -> c_int
👎DeprecatedAvailable on crate features objc2 and objc2-io-bluetooth only.
pub unsafe fn discoverAsSheetForWindow_withRecord( &self, sheet_window: Option<&NSWindow>, out_record: Option<&mut Option<Retained<IOBluetoothSDPServiceRecord>>>, ) -> c_int
objc2 and objc2-io-bluetooth only.Invoke an already created window controller to display, and run the modal dialog.
WARNING This method has been deprecated in favor of -beginSheetModalForWindow:… and -getResults.
Parameter sheetWindow: The window to use for the anchor of the sheet..
Parameter outRecord: Pointer to a (IOBluetoothSDPServiceRecord *) object. This will get allocated and returned to the client if the user selects a service.
Returns: IOReturn - kIOReturnSuccess - on successful completion. kCanceledErr - User canceled.
This method will run the IOBluetoothServiceBrowserController browser window as a sheet for the window passed to it in sheetWindow.
§Safety
sheet_windowmight not allowNone.out_recordmight not allowNone.
Sourcepub unsafe fn discoverWithDeviceAttributes_serviceList_serviceRecord(
&self,
device_attributes: *mut IOBluetoothDeviceSearchAttributes,
service_array: Option<&NSArray>,
out_record: Option<&mut Option<Retained<IOBluetoothSDPServiceRecord>>>,
) -> c_int
👎DeprecatedAvailable on crate features objc2 and objc2-io-bluetooth only.
pub unsafe fn discoverWithDeviceAttributes_serviceList_serviceRecord( &self, device_attributes: *mut IOBluetoothDeviceSearchAttributes, service_array: Option<&NSArray>, out_record: Option<&mut Option<Retained<IOBluetoothSDPServiceRecord>>>, ) -> c_int
objc2 and objc2-io-bluetooth only.Invoke an already created window controller to display, and run the modal dialog.
WARNING This method has been deprecated in favor of -setSearchAttributes:, -addAllowedUUID:, -runModal and -getResults.
Parameter deviceArray: A NSArray of valid device type objects to allow. Not implemented yet.
Parameter serviceArray: A NSArray of valid UUIDs to allow. The array should contain NSData objects
specifying the UUID to allow. We currently only support 16-bit short UUID forms, but
will allow for any of the 16, 32 or full 128-bit UUID forms.
Parameter outRecord: Pointer to a (IOBluetoothSDPServiceRecord *) object. This will get allocated
and returned to the client if the user selects a service.
Returns: IOReturn - kIOReturnSuccess - on successful completion. kCanceledErr - User canceled.
This method will run the IOBluetoothServiceBrowserController browser window as a sheet for the window passed to it in sheetWindow.
§Safety
device_attributesmust be a valid pointer.service_arraygeneric should be of the correct type.service_arraymight not allowNone.out_recordmight not allowNone.
Sourcepub unsafe fn setOptions(
&self,
in_options: IOBluetoothServiceBrowserControllerOptions,
)
Available on crate features objc2 and IOBluetoothUIUserLib only.
pub unsafe fn setOptions( &self, in_options: IOBluetoothServiceBrowserControllerOptions, )
objc2 and IOBluetoothUIUserLib only.Modify the options for the window controller.
Parameter inOptions: Bit field to set the options to.
Returns: None.
This method will set the options for the browser to new values.
Sourcepub unsafe fn runModal(&self) -> c_int
Available on crate feature objc2 only.
pub unsafe fn runModal(&self) -> c_int
objc2 only.Runs the service browser panel in a modal session to allow the user to select a service on a Bluetooth device.
The controller will use the panel attributes to filter what devices the user sees. The allowed UUIDs will be used to validate the selection the user makes. The user will only be able to select services that match the allowed UUIDs. Only when a selection has been validated (or the panel cancelled), will this method return.
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Returns: Returns kIOBluetoothUISuccess if a successful, validated service selection was made by the user. Returns kIOBluetoothUIUserCanceledErr if the user cancelled the panel. These return values are the same as NSRunStoppedResponse and NSRunAbortedResponse respectively. They are the standard values used in a modal session.
Sourcepub unsafe fn beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo(
&self,
sheet_window: Option<&NSWindow>,
modal_delegate: Option<&AnyObject>,
did_end_selector: Option<Sel>,
context_info: *mut c_void,
) -> c_int
Available on crate feature objc2 only.
pub unsafe fn beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo( &self, sheet_window: Option<&NSWindow>, modal_delegate: Option<&AnyObject>, did_end_selector: Option<Sel>, context_info: *mut c_void, ) -> c_int
objc2 only.Runs the service browser panel as a sheet on the target window.
This function works the same way as -[NSApplication beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:]. The didEndSelector has a similar prototype as in NSApplication except that the first argument is the IOBluetoothServiceBrowserController object instead of the window: -(void)sheetDidEnd:(IOBluetoothServiceBrowserController *)controller returnCode:(int)returnCode contextInfo:(void *)contextInfo. The returnCode parameter will either be kIOBluetoothUISuccess or kIOBluetoothUIUserCancelledErr as described in -runModal.
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Parameter sheetWindow: NSWindow to attach the service browser panel to as a sheet.
Parameter modalDelegate: Delegate object that gets sent the didEndSelector when the sheet modal session is finished.
Parameter didEndSelector: Selector sent to the modalDelegate when the sheet modal session is finished.
Parameter contextInfo: User-definied value passed to the modalDelegate in the didEndSelector.
Returns: Returns kIOReturnSuccess if the sheet modal session was started.
§Safety
sheet_windowmight not allowNone.modal_delegateshould be of the correct type.modal_delegatemight not allowNone.did_end_selectormust be a valid selector.context_infomust be a valid pointer.
Sourcepub unsafe fn getResults(&self) -> Option<Retained<NSArray>>
Available on crate feature objc2 only.
pub unsafe fn getResults(&self) -> Option<Retained<NSArray>>
objc2 only.Returns the result of the user’s selection.
There will only be results if the panel has been run, the user has successfully made a selection and that selection has been validated. If kIOBluetoothUISuccess was returned for the session, there should be valid results. Currently only a single device is allowed to be selected, so the results array will only contain one object. However in the future multiple selection will be supported.
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Returns: Returns an NSArray of IOBluetoothSDPServiceRecord objects corresponding to the user’s selection. If the user cancelled the panel, nil will be returned.
Sourcepub unsafe fn getOptions(&self) -> IOBluetoothServiceBrowserControllerOptions
Available on crate features objc2 and IOBluetoothUIUserLib only.
pub unsafe fn getOptions(&self) -> IOBluetoothServiceBrowserControllerOptions
objc2 and IOBluetoothUIUserLib only.Returns the option bits that control the panel’s behavior.
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Returns: Returns the option bits set by setOptions:
Sourcepub unsafe fn setSearchAttributes(
&self,
search_attributes: *const IOBluetoothDeviceSearchAttributes,
)
Available on crate features objc2 and objc2-io-bluetooth only.
pub unsafe fn setSearchAttributes( &self, search_attributes: *const IOBluetoothDeviceSearchAttributes, )
objc2 and objc2-io-bluetooth only.Sets the search attributes that control the panel’s search/inquiry behavior.
The device search attributes control the inquiry behavior of the panel. They allow only devices that match the specified attributes (i.e. class of device) to be displayed to the user. Note that this only covers attributes returned in an inquiry result and not actual SDP services on the device.
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Parameter searchAttributes: Attributes to control the panel’s inquiry behavior.
§Safety
search_attributes must be a valid pointer.
Sourcepub unsafe fn getSearchAttributes(
&self,
) -> *const IOBluetoothDeviceSearchAttributes
Available on crate features objc2 and objc2-io-bluetooth only.
pub unsafe fn getSearchAttributes( &self, ) -> *const IOBluetoothDeviceSearchAttributes
objc2 and objc2-io-bluetooth only.Returns the search attributes that control the panel’s search/inquiry behavior.
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Returns: Returns the search attributes set by setSearchAttributes:
§Safety
The returned struct field 4 struct field 2 Array TODO.
Sourcepub unsafe fn addAllowedUUID(&self, allowed_uuid: Option<&IOBluetoothSDPUUID>)
Available on crate features objc2 and objc2-io-bluetooth only.
pub unsafe fn addAllowedUUID(&self, allowed_uuid: Option<&IOBluetoothSDPUUID>)
objc2 and objc2-io-bluetooth only.Adds a UUID to the list of UUIDs that are used to validate the user’s selection.
The user’s device selection gets validated against the UUIDs passed to -addAllowedUUID: addAllowedUUIDArray:. Each call to those methods essentially adds a filter that the selected device gets validated with. If any of the filters match, the device is considered valid. If they all fail, the device is not valid and the user is presented with an error code that the device does not support the required services. The UUID passed to -addAllowedUUID: is the only UUID that must be present in the device’s SDP service records. Alternatively, all of the UUIDs in the UUID array passed to -addAllowedUUIDArray must be present.
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Parameter allowedUUID: UUID that a device may contain to be selected
§Safety
allowed_uuid might not allow None.
Sourcepub unsafe fn addAllowedUUIDArray(&self, allowed_uuid_array: Option<&NSArray>)
Available on crate feature objc2 only.
pub unsafe fn addAllowedUUIDArray(&self, allowed_uuid_array: Option<&NSArray>)
objc2 only.Adds an array of UUIDs to the list of UUIDs that are used to validate the user’s selection.
The user’s device selection gets validated against the UUIDs passed to -addAllowedUUID: addAllowedUUIDArray:. Each call to those methods essentially adds a filter that the selected device gets validated with. If any of the filters match, the device is considered valid. If they all fail, the device is not valid and the user is presented with an error code that the device does not support the required services. The UUID passed to -addAllowedUUID: is the only UUID that must be present in the device’s SDP service records. Alternatively, all of the UUIDs in the UUID array passed to -addAllowedUUIDArray must be present.
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Parameter allowedUUIDArray: An NSArray of UUIDs that all must be present in a device for it to be selectable.
§Safety
allowed_uuid_arraygeneric should be of the correct type.allowed_uuid_arraymight not allowNone.
Sourcepub unsafe fn clearAllowedUUIDs(&self)
Available on crate feature objc2 only.
pub unsafe fn clearAllowedUUIDs(&self)
objc2 only.Resets the controller back to the default state where it will accept any device the user selects.
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Sourcepub unsafe fn setTitle(&self, window_title: Option<&NSString>)
Available on crate feature objc2 only.
pub unsafe fn setTitle(&self, window_title: Option<&NSString>)
objc2 only.Sets the title of the panel when not run as a sheet.
The panel title should be localized for best user experience.
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Parameter windowTitle: Title of the device selector panel.
§Safety
window_title might not allow None.
Sourcepub unsafe fn getTitle(&self) -> Option<Retained<NSString>>
Available on crate feature objc2 only.
pub unsafe fn getTitle(&self) -> Option<Retained<NSString>>
objc2 only.Returns the title of the device selector panel (i.e. what was set in -setTitle:).
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Returns: Returns the title of the device selector panel.
Sourcepub unsafe fn setDescriptionText(&self, description_text: Option<&NSString>)
Available on crate feature objc2 only.
pub unsafe fn setDescriptionText(&self, description_text: Option<&NSString>)
objc2 only.Sets the description text that appears in the device selector panel.
The description text should be localized for best user experience.
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Parameter descriptionText: String that appears in the description section of the device selector panel.
§Safety
description_text might not allow None.
Sourcepub unsafe fn getDescriptionText(&self) -> Option<Retained<NSString>>
Available on crate feature objc2 only.
pub unsafe fn getDescriptionText(&self) -> Option<Retained<NSString>>
objc2 only.Returns the description text that appears in the device selector panel (i.e. what was set in -setDescriptionText:).
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Returns: Returns the description text of the device selector panel.
Sourcepub unsafe fn setPrompt(&self, prompt: Option<&NSString>)
Available on crate feature objc2 only.
pub unsafe fn setPrompt(&self, prompt: Option<&NSString>)
objc2 only.Sets the title of the default/select button in the device selector panel.
The prompt text should be localized for best user experience.
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Parameter prompt: String that appears in the default/select button in the device selector panel.
§Safety
prompt might not allow None.
Sourcepub unsafe fn getPrompt(&self) -> Option<Retained<NSString>>
Available on crate feature objc2 only.
pub unsafe fn getPrompt(&self) -> Option<Retained<NSString>>
objc2 only.Returns the title of the default/select button in the device selector panel (i.e. what was set in -setPrompt:).
NOTE: This method is only available in Mac OS X 10.2.4 (Bluetooth v1.1) or later.
Returns: Returns the default button title of the device selector panel.
Source§impl IOBluetoothServiceBrowserController
Methods declared on superclass NSWindowController.
impl IOBluetoothServiceBrowserController
Methods declared on superclass NSWindowController.
pub unsafe fn initWithWindow( this: Allocated<Self>, window: Option<&NSWindow>, ) -> Retained<Self>
objc2 only.Sourcepub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>
Available on crate feature objc2 only.
pub unsafe fn initWithCoder( this: Allocated<Self>, coder: &NSCoder, ) -> Option<Retained<Self>>
objc2 only.§Safety
coder possibly has further requirements.
pub unsafe fn initWithWindowNibName( this: Allocated<Self>, window_nib_name: &NSNibName, ) -> Retained<Self>
objc2 only.Source§impl IOBluetoothServiceBrowserController
Methods declared on superclass NSResponder.
impl IOBluetoothServiceBrowserController
Methods declared on superclass NSResponder.
Source§impl IOBluetoothServiceBrowserController
Methods declared on superclass NSObject.
impl IOBluetoothServiceBrowserController
Methods declared on superclass NSObject.
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>
objc2 only.Methods from Deref<Target = NSWindowController>§
pub fn windowNibName(&self) -> Option<Retained<NSString>>
pub fn windowNibPath(&self) -> Option<Retained<NSString>>
pub fn owner(&self) -> Option<Retained<AnyObject>>
pub fn windowFrameAutosaveName(&self) -> Retained<NSString>
Sourcepub fn setWindowFrameAutosaveName(&self, window_frame_autosave_name: &NSString)
pub fn setWindowFrameAutosaveName(&self, window_frame_autosave_name: &NSString)
Setter for windowFrameAutosaveName.
This is copied when set.
pub fn shouldCascadeWindows(&self) -> bool
Sourcepub fn setShouldCascadeWindows(&self, should_cascade_windows: bool)
pub fn setShouldCascadeWindows(&self, should_cascade_windows: bool)
Setter for shouldCascadeWindows.
Sourcepub unsafe fn document(&self) -> Option<Retained<AnyObject>>
pub unsafe fn document(&self) -> Option<Retained<AnyObject>>
§Safety
This is not retained internally, you must ensure the object is still alive.
Sourcepub unsafe fn setDocument(&self, document: Option<&AnyObject>)
pub unsafe fn setDocument(&self, document: Option<&AnyObject>)
pub fn setDocumentEdited(&self, dirty_flag: bool)
pub fn shouldCloseDocument(&self) -> bool
Sourcepub fn setShouldCloseDocument(&self, should_close_document: bool)
pub fn setShouldCloseDocument(&self, should_close_document: bool)
Setter for shouldCloseDocument.
pub fn synchronizeWindowTitleWithDocumentName(&self)
pub fn windowTitleForDocumentDisplayName( &self, display_name: &NSString, ) -> Retained<NSString>
pub fn window(&self) -> Option<Retained<NSWindow>>
pub fn isWindowLoaded(&self) -> bool
pub fn windowWillLoad(&self)
pub fn windowDidLoad(&self)
pub fn loadWindow(&self)
pub fn close(&self)
Sourcepub unsafe fn showWindow(&self, sender: Option<&AnyObject>)
pub unsafe fn showWindow(&self, sender: Option<&AnyObject>)
§Safety
sender should be of the correct type.
Sourcepub unsafe fn dismissController(&self, sender: Option<&AnyObject>)
pub unsafe fn dismissController(&self, sender: Option<&AnyObject>)
§Safety
sender should be of the correct type.
Methods from Deref<Target = NSResponder>§
Sourcepub unsafe fn nextResponder(&self) -> Option<Retained<NSResponder>>
pub unsafe fn nextResponder(&self) -> Option<Retained<NSResponder>>
§Safety
This is not retained internally, you must ensure the object is still alive.
Sourcepub unsafe fn setNextResponder(&self, next_responder: Option<&NSResponder>)
pub unsafe fn setNextResponder(&self, next_responder: Option<&NSResponder>)
Setter for nextResponder.
§Safety
This is unretained, you must ensure the object is kept alive while in use.
Sourcepub unsafe fn tryToPerform_with(
&self,
action: Sel,
object: Option<&AnyObject>,
) -> bool
pub unsafe fn tryToPerform_with( &self, action: Sel, object: Option<&AnyObject>, ) -> bool
§Safety
actionmust be a valid selector.objectshould be of the correct type.
Sourcepub unsafe fn noResponderFor(&self, event_selector: Sel)
pub unsafe fn noResponderFor(&self, event_selector: Sel)
§Safety
event_selector must be a valid selector.
pub fn acceptsFirstResponder(&self) -> bool
pub fn becomeFirstResponder(&self) -> bool
pub fn resignFirstResponder(&self) -> bool
pub fn flushBufferedKeyEvents(&self)
Sourcepub unsafe fn showContextHelp(&self, sender: Option<&AnyObject>)
pub unsafe fn showContextHelp(&self, sender: Option<&AnyObject>)
§Safety
sender should be of the correct type.
Sourcepub unsafe fn supplementalTargetForAction_sender(
&self,
action: Sel,
sender: Option<&AnyObject>,
) -> Option<Retained<AnyObject>>
pub unsafe fn supplementalTargetForAction_sender( &self, action: Sel, sender: Option<&AnyObject>, ) -> Option<Retained<AnyObject>>
§Safety
actionmust be a valid selector.sendershould be of the correct type.
pub fn undoManager(&self) -> Option<Retained<NSUndoManager>>
Sourcepub unsafe fn presentError_modalForWindow_delegate_didPresentSelector_contextInfo(
&self,
error: &NSError,
window: &NSWindow,
delegate: Option<&AnyObject>,
did_present_selector: Option<Sel>,
context_info: *mut c_void,
)
pub unsafe fn presentError_modalForWindow_delegate_didPresentSelector_contextInfo( &self, error: &NSError, window: &NSWindow, delegate: Option<&AnyObject>, did_present_selector: Option<Sel>, context_info: *mut c_void, )
§Safety
delegateshould be of the correct type.did_present_selectormust be a valid selector.context_infomust be a valid pointer or null.
pub fn presentError(&self, error: &NSError) -> bool
pub fn willPresentError(&self, error: &NSError) -> Retained<NSError>
Sourcepub unsafe fn performTextFinderAction(&self, sender: Option<&AnyObject>)
pub unsafe fn performTextFinderAction(&self, sender: Option<&AnyObject>)
§Safety
sender should be of the correct type.
Sourcepub unsafe fn newWindowForTab(&self, sender: Option<&AnyObject>)
pub unsafe fn newWindowForTab(&self, sender: Option<&AnyObject>)
§Safety
sender should be of the correct type.
Sourcepub unsafe fn showWritingTools(&self, sender: Option<&AnyObject>)
pub unsafe fn showWritingTools(&self, sender: Option<&AnyObject>)
§Safety
sender should be of the correct type.
pub fn performMnemonic(&self, string: &NSString) -> bool
Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
pub fn class(&self) -> &'static AnyClass
Dynamically find the class of this object.
§Panics
May panic if the object is invalid (which may be the case for objects
returned from unavailable init/new methods).
§Example
Check that an instance of NSObject has the precise class NSObject.
use objc2::ClassType;
use objc2::runtime::NSObject;
let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load instead.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load instead.Use Ivar::load instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T.
See Ivar::load_ptr for details surrounding this.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
Attempt to downcast the object to a class of type T.
This is the reference-variant. Use Retained::downcast if you want
to convert a retained object to another type.
§Mutable classes
Some classes have immutable and mutable variants, such as NSString
and NSMutableString.
When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.
So using this method to convert a NSString to a NSMutableString,
while not unsound, is generally frowned upon unless you created the
string yourself, or the API explicitly documents the string to be
mutable.
See Apple’s documentation on mutability and on
isKindOfClass: for more details.
§Generic classes
Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.
You can, however, safely downcast to generic collections where all the
type-parameters are AnyObject.
§Panics
This works internally by calling isKindOfClass:. That means that the
object must have the instance method of that name, and an exception
will be thrown (if CoreFoundation is linked) or the process will abort
if that is not the case. In the vast majority of cases, you don’t need
to worry about this, since both root objects NSObject and
NSProxy implement this method.
§Examples
Cast an NSString back and forth from NSObject.
use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};
let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();Try (and fail) to cast an NSObject to an NSString.
use objc2_foundation::{NSObject, NSString};
let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());Try to cast to an array of strings.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.
Downcast when processing each element instead.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
for elem in arr {
if let Some(data) = elem.downcast_ref::<NSString>() {
// handle `data`
}
}Trait Implementations§
Source§impl AsRef<AnyObject> for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl AsRef<AnyObject> for IOBluetoothServiceBrowserController
objc2 only.Source§impl AsRef<IOBluetoothServiceBrowserController> for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl AsRef<IOBluetoothServiceBrowserController> for IOBluetoothServiceBrowserController
objc2 only.Source§impl AsRef<NSObject> for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl AsRef<NSObject> for IOBluetoothServiceBrowserController
objc2 only.Source§impl AsRef<NSResponder> for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl AsRef<NSResponder> for IOBluetoothServiceBrowserController
objc2 only.Source§fn as_ref(&self) -> &NSResponder
fn as_ref(&self) -> &NSResponder
Source§impl AsRef<NSWindowController> for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl AsRef<NSWindowController> for IOBluetoothServiceBrowserController
objc2 only.Source§fn as_ref(&self) -> &NSWindowController
fn as_ref(&self) -> &NSWindowController
Source§impl Borrow<AnyObject> for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl Borrow<AnyObject> for IOBluetoothServiceBrowserController
objc2 only.Source§impl Borrow<NSObject> for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl Borrow<NSObject> for IOBluetoothServiceBrowserController
objc2 only.Source§impl Borrow<NSResponder> for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl Borrow<NSResponder> for IOBluetoothServiceBrowserController
objc2 only.Source§fn borrow(&self) -> &NSResponder
fn borrow(&self) -> &NSResponder
Source§impl Borrow<NSWindowController> for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl Borrow<NSWindowController> for IOBluetoothServiceBrowserController
objc2 only.Source§fn borrow(&self) -> &NSWindowController
fn borrow(&self) -> &NSWindowController
Source§impl ClassType for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl ClassType for IOBluetoothServiceBrowserController
objc2 only.Source§const NAME: &'static str = "IOBluetoothServiceBrowserController"
const NAME: &'static str = "IOBluetoothServiceBrowserController"
Source§type Super = NSWindowController
type Super = NSWindowController
Source§type ThreadKind = <<IOBluetoothServiceBrowserController as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<IOBluetoothServiceBrowserController as ClassType>::Super as ClassType>::ThreadKind
Source§impl Debug for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl Debug for IOBluetoothServiceBrowserController
objc2 only.Source§impl Deref for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl Deref for IOBluetoothServiceBrowserController
objc2 only.Source§impl Hash for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl Hash for IOBluetoothServiceBrowserController
objc2 only.Source§impl Message for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl Message for IOBluetoothServiceBrowserController
objc2 only.Source§impl NSCoding for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl NSCoding for IOBluetoothServiceBrowserController
objc2 only.Source§impl NSObjectProtocol for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl NSObjectProtocol for IOBluetoothServiceBrowserController
objc2 only.Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass directly, or cast your objects with AnyObject::downcast_refSource§fn isMemberOfClass(&self, cls: &AnyClass) -> bool
fn isMemberOfClass(&self, cls: &AnyClass) -> bool
Source§fn respondsToSelector(&self, aSelector: Sel) -> bool
fn respondsToSelector(&self, aSelector: Sel) -> bool
Source§fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
Source§fn debugDescription(&self) -> Retained<NSObject>
fn debugDescription(&self) -> Retained<NSObject>
Source§impl NSSeguePerforming for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl NSSeguePerforming for IOBluetoothServiceBrowserController
objc2 only.Source§unsafe fn prepareForSegue_sender(
&self,
segue: &NSStoryboardSegue,
sender: Option<&AnyObject>,
)
unsafe fn prepareForSegue_sender( &self, segue: &NSStoryboardSegue, sender: Option<&AnyObject>, )
Source§impl PartialEq for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl PartialEq for IOBluetoothServiceBrowserController
objc2 only.Source§impl RefEncode for IOBluetoothServiceBrowserController
Available on crate feature objc2 only.
impl RefEncode for IOBluetoothServiceBrowserController
objc2 only.Source§const ENCODING_REF: Encoding = <NSWindowController as ::objc2::RefEncode>::ENCODING_REF
const ENCODING_REF: Encoding = <NSWindowController as ::objc2::RefEncode>::ENCODING_REF
impl DowncastTarget for IOBluetoothServiceBrowserController
objc2 only.impl Eq for IOBluetoothServiceBrowserController
objc2 only.Auto Trait Implementations§
impl !Freeze for IOBluetoothServiceBrowserController
impl !RefUnwindSafe for IOBluetoothServiceBrowserController
impl !Send for IOBluetoothServiceBrowserController
impl !Sync for IOBluetoothServiceBrowserController
impl !Unpin for IOBluetoothServiceBrowserController
impl !UnwindSafe for IOBluetoothServiceBrowserController
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<'a, T> MainThreadOnly for T
impl<'a, T> MainThreadOnly for T
Source§fn mtm(&self) -> MainThreadMarker
fn mtm(&self) -> MainThreadMarker
MainThreadMarker from the main-thread-only object. Read more