pub struct ASDiscoveryDescriptor { /* private fields */ }ASDiscoveryDescriptor only.Expand description
Implementations§
Source§impl ASDiscoveryDescriptor
impl ASDiscoveryDescriptor
Sourcepub unsafe fn supportedOptions(&self) -> ASAccessorySupportOptions
Available on crate feature ASAccessory only.
pub unsafe fn supportedOptions(&self) -> ASAccessorySupportOptions
ASAccessory only.Options supported by an accessory.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setSupportedOptions(
&self,
supported_options: ASAccessorySupportOptions,
)
Available on crate feature ASAccessory only.
pub unsafe fn setSupportedOptions( &self, supported_options: ASAccessorySupportOptions, )
ASAccessory only.Sourcepub unsafe fn bluetoothCompanyIdentifier(&self) -> ASBluetoothCompanyIdentifier
Available on crate feature ASCommon only.
pub unsafe fn bluetoothCompanyIdentifier(&self) -> ASBluetoothCompanyIdentifier
ASCommon only.The accessory’s 16-bit Bluetooth Company Identifier.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setBluetoothCompanyIdentifier(
&self,
bluetooth_company_identifier: ASBluetoothCompanyIdentifier,
)
Available on crate feature ASCommon only.
pub unsafe fn setBluetoothCompanyIdentifier( &self, bluetooth_company_identifier: ASBluetoothCompanyIdentifier, )
ASCommon only.Sourcepub unsafe fn bluetoothManufacturerDataBlob(&self) -> Option<Retained<NSData>>
pub unsafe fn bluetoothManufacturerDataBlob(&self) -> Option<Retained<NSData>>
A byte buffer that matches the accessory’s Bluetooth manufacturer data.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setBluetoothManufacturerDataBlob(
&self,
bluetooth_manufacturer_data_blob: Option<&NSData>,
)
pub unsafe fn setBluetoothManufacturerDataBlob( &self, bluetooth_manufacturer_data_blob: Option<&NSData>, )
Setter for bluetoothManufacturerDataBlob.
This is copied when set.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn bluetoothManufacturerDataMask(&self) -> Option<Retained<NSData>>
pub unsafe fn bluetoothManufacturerDataMask(&self) -> Option<Retained<NSData>>
The accessory’s Bluetooth manufacturer data mask.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setBluetoothManufacturerDataMask(
&self,
bluetooth_manufacturer_data_mask: Option<&NSData>,
)
pub unsafe fn setBluetoothManufacturerDataMask( &self, bluetooth_manufacturer_data_mask: Option<&NSData>, )
Setter for bluetoothManufacturerDataMask.
This is copied when set.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn bluetoothNameSubstringCompareOptions(
&self,
) -> NSStringCompareOptions
pub unsafe fn bluetoothNameSubstringCompareOptions( &self, ) -> NSStringCompareOptions
The accessory’s over-the-air Bluetooth name substring compare options.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setBluetoothNameSubstringCompareOptions(
&self,
bluetooth_name_substring_compare_options: NSStringCompareOptions,
)
pub unsafe fn setBluetoothNameSubstringCompareOptions( &self, bluetooth_name_substring_compare_options: NSStringCompareOptions, )
Sourcepub unsafe fn bluetoothNameSubstring(&self) -> Option<Retained<NSString>>
pub unsafe fn bluetoothNameSubstring(&self) -> Option<Retained<NSString>>
The accessory’s over-the-air Bluetooth name substring.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setBluetoothNameSubstring(
&self,
bluetooth_name_substring: Option<&NSString>,
)
pub unsafe fn setBluetoothNameSubstring( &self, bluetooth_name_substring: Option<&NSString>, )
Sourcepub unsafe fn bluetoothRange(&self) -> ASDiscoveryDescriptorRange
pub unsafe fn bluetoothRange(&self) -> ASDiscoveryDescriptorRange
A property that tells the session to discover accessories within a specific Bluetooth range.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setBluetoothRange(
&self,
bluetooth_range: ASDiscoveryDescriptorRange,
)
pub unsafe fn setBluetoothRange( &self, bluetooth_range: ASDiscoveryDescriptorRange, )
Sourcepub unsafe fn bluetoothServiceDataBlob(&self) -> Option<Retained<NSData>>
pub unsafe fn bluetoothServiceDataBlob(&self) -> Option<Retained<NSData>>
A byte buffer that matches the accessory’s Bluetooth service data.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setBluetoothServiceDataBlob(
&self,
bluetooth_service_data_blob: Option<&NSData>,
)
pub unsafe fn setBluetoothServiceDataBlob( &self, bluetooth_service_data_blob: Option<&NSData>, )
Setter for bluetoothServiceDataBlob.
This is copied when set.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn bluetoothServiceDataMask(&self) -> Option<Retained<NSData>>
pub unsafe fn bluetoothServiceDataMask(&self) -> Option<Retained<NSData>>
The accessory’s Bluetooth service data mask.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setBluetoothServiceDataMask(
&self,
bluetooth_service_data_mask: Option<&NSData>,
)
pub unsafe fn setBluetoothServiceDataMask( &self, bluetooth_service_data_mask: Option<&NSData>, )
Setter for bluetoothServiceDataMask.
This is copied when set.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn bluetoothServiceUUID(&self) -> Option<Retained<CBUUID>>
Available on crate feature objc2-core-bluetooth only.
pub unsafe fn bluetoothServiceUUID(&self) -> Option<Retained<CBUUID>>
objc2-core-bluetooth only.The accessory’s Bluetooth service UUID.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setBluetoothServiceUUID(
&self,
bluetooth_service_uuid: Option<&CBUUID>,
)
Available on crate feature objc2-core-bluetooth only.
pub unsafe fn setBluetoothServiceUUID( &self, bluetooth_service_uuid: Option<&CBUUID>, )
objc2-core-bluetooth only.Sourcepub unsafe fn SSID(&self) -> Option<Retained<NSString>>
pub unsafe fn SSID(&self) -> Option<Retained<NSString>>
The SSID of the accessory’s Wi-Fi network.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn SSIDPrefix(&self) -> Option<Retained<NSString>>
pub unsafe fn SSIDPrefix(&self) -> Option<Retained<NSString>>
The prefix string of SSID of the accessory’s Wi-Fi network.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setSSIDPrefix(&self, ssid_prefix: Option<&NSString>)
pub unsafe fn setSSIDPrefix(&self, ssid_prefix: Option<&NSString>)
Sourcepub unsafe fn wifiAwareServiceName(&self) -> Option<Retained<NSString>>
pub unsafe fn wifiAwareServiceName(&self) -> Option<Retained<NSString>>
The accessory’s Wi-Fi Aware’s service name if available.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setWifiAwareServiceName(
&self,
wifi_aware_service_name: Option<&NSString>,
)
pub unsafe fn setWifiAwareServiceName( &self, wifi_aware_service_name: Option<&NSString>, )
Sourcepub unsafe fn wifiAwareServiceRole(
&self,
) -> ASDiscoveryDescriptorWiFiAwareServiceRole
pub unsafe fn wifiAwareServiceRole( &self, ) -> ASDiscoveryDescriptorWiFiAwareServiceRole
The role of the accessory’s Wi-Fi Aware’s service.
This property defaults to ASDiscoveryDescriptor/WiFiAwareServiceRole/subscriber
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setWifiAwareServiceRole(
&self,
wifi_aware_service_role: ASDiscoveryDescriptorWiFiAwareServiceRole,
)
pub unsafe fn setWifiAwareServiceRole( &self, wifi_aware_service_role: ASDiscoveryDescriptorWiFiAwareServiceRole, )
Sourcepub unsafe fn wifiAwareModelNameMatch(
&self,
) -> Option<Retained<ASPropertyCompareString>>
Available on crate feature ASCommon only.
pub unsafe fn wifiAwareModelNameMatch( &self, ) -> Option<Retained<ASPropertyCompareString>>
ASCommon only.The accessory’s Wi-Fi Aware model name and matching options.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setWifiAwareModelNameMatch(
&self,
wifi_aware_model_name_match: Option<&ASPropertyCompareString>,
)
Available on crate feature ASCommon only.
pub unsafe fn setWifiAwareModelNameMatch( &self, wifi_aware_model_name_match: Option<&ASPropertyCompareString>, )
ASCommon only.Sourcepub unsafe fn wifiAwareVendorNameMatch(
&self,
) -> Option<Retained<ASPropertyCompareString>>
Available on crate feature ASCommon only.
pub unsafe fn wifiAwareVendorNameMatch( &self, ) -> Option<Retained<ASPropertyCompareString>>
ASCommon only.The accessory’s Wi-Fi Aware vendor name and matching options.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn setWifiAwareVendorNameMatch(
&self,
wifi_aware_vendor_name_match: Option<&ASPropertyCompareString>,
)
Available on crate feature ASCommon only.
pub unsafe fn setWifiAwareVendorNameMatch( &self, wifi_aware_vendor_name_match: Option<&ASPropertyCompareString>, )
ASCommon only.Setter for wifiAwareVendorNameMatch.
This is copied when set.
§Safety
This might not be thread-safe.
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 ASDiscoveryDescriptor
impl AsRef<AnyObject> for ASDiscoveryDescriptor
Source§impl AsRef<NSObject> for ASDiscoveryDescriptor
impl AsRef<NSObject> for ASDiscoveryDescriptor
Source§impl Borrow<AnyObject> for ASDiscoveryDescriptor
impl Borrow<AnyObject> for ASDiscoveryDescriptor
Source§impl Borrow<NSObject> for ASDiscoveryDescriptor
impl Borrow<NSObject> for ASDiscoveryDescriptor
Source§impl ClassType for ASDiscoveryDescriptor
impl ClassType for ASDiscoveryDescriptor
Source§const NAME: &'static str = "ASDiscoveryDescriptor"
const NAME: &'static str = "ASDiscoveryDescriptor"
Source§type ThreadKind = <<ASDiscoveryDescriptor as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<ASDiscoveryDescriptor as ClassType>::Super as ClassType>::ThreadKind
Source§impl Debug for ASDiscoveryDescriptor
impl Debug for ASDiscoveryDescriptor
Source§impl Deref for ASDiscoveryDescriptor
impl Deref for ASDiscoveryDescriptor
Source§impl Hash for ASDiscoveryDescriptor
impl Hash for ASDiscoveryDescriptor
Source§impl Message for ASDiscoveryDescriptor
impl Message for ASDiscoveryDescriptor
Source§impl NSObjectProtocol for ASDiscoveryDescriptor
impl NSObjectProtocol for ASDiscoveryDescriptor
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_ref