/* * @file CBCentralManagerConstants.h * @framework CoreBluetooth * * @copyright 2013 Apple, Inc. All rights reserved. */ #import #import NS_ASSUME_NONNULL_BEGIN #define CB_CM_API_AVAILABLE API_AVAILABLE( ios( 13.0 ), tvos( 13.0 ), watchos( 6.0 ) ) API_UNAVAILABLE(macos) /*! * @const CBCentralManagerOptionShowPowerAlertKey * * @discussion An NSNumber (Boolean) indicating that the system should, if Bluetooth is powered off when CBCentralManager is instantiated, display * a warning dialog to the user. * * @see initWithDelegate:queue:options: * */ CB_EXTERN NSString * const CBCentralManagerOptionShowPowerAlertKey NS_AVAILABLE(10_9, 7_0); /*! * @const CBCentralManagerOptionRestoreIdentifierKey * * @discussion An NSString containing a unique identifier (UID) for the CBCentralManager that is being instantiated. This UID is used * by the system to identify a specific CBCentralManager instance for restoration and, therefore, must remain the same for * subsequent application executions in order for the manager to be restored. * * @see initWithDelegate:queue:options: * @seealso centralManager:willRestoreState: * */ CB_EXTERN NSString * const CBCentralManagerOptionRestoreIdentifierKey NS_AVAILABLE(10_13, 7_0); /*! * @const CBCentralManagerOptionDeviceAccessForMedia * * @discussion A Boolean representing the CBCentralManager init purpose is for DeviceAccess for media only. This will limit the functionality of this * manager and only allow media device access without prompting the user for Bluetooth generic TCC. * * @see initWithDelegate:queue:options: * */ CB_EXTERN NSString * const CBCentralManagerOptionDeviceAccessForMedia NS_AVAILABLE_IOS(16_0); /*! * @const CBCentralManagerScanOptionAllowDuplicatesKey * * @discussion An NSNumber (Boolean) indicating that the scan should run without duplicate filtering. By default, multiple discoveries of the * same peripheral are coalesced into a single discovery event. Specifying this option will cause a discovery event to be generated * every time the peripheral is seen, which may be many times per second. This can be useful in specific situations, such as making * a connection based on a peripheral's RSSI, but may have an adverse affect on battery-life and application performance. * * @see scanForPeripheralsWithServices:options: * */ CB_EXTERN NSString * const CBCentralManagerScanOptionAllowDuplicatesKey; /*! * @const CBCentralManagerScanOptionSolicitedServiceUUIDsKey * * @discussion An NSArray of CBUUID objects respresenting service UUIDs. Causes the scan to also look for peripherals soliciting * any of the services contained in the list. * * @see scanForPeripheralsWithServices:options: * */ CB_EXTERN NSString * const CBCentralManagerScanOptionSolicitedServiceUUIDsKey NS_AVAILABLE(10_9, 7_0); /*! * @const CBConnectPeripheralOptionNotifyOnConnectionKey * * @discussion An NSNumber (Boolean) indicating that the system should display a connection alert for a given peripheral, if the application is suspended * when a successful connection is made. * This is useful for applications that have not specified the bluetooth-central background mode and cannot display their * own alert. If more than one application has requested notification for a given peripheral, the one that was most recently in the foreground * will receive the alert. * * @see connectPeripheral: * */ CB_EXTERN NSString * const CBConnectPeripheralOptionNotifyOnConnectionKey NS_AVAILABLE(10_13, 6_0); /*! * @const CBConnectPeripheralOptionNotifyOnDisconnectionKey * * @discussion An NSNumber (Boolean) indicating that the system should display a disconnection alert for a given peripheral, if the application * is suspended at the time of the disconnection. * This is useful for applications that have not specified the bluetooth-central background mode and cannot display their * own alert. If more than one application has requested notification for a given peripheral, the one that was most recently in the foreground * will receive the alert. * * @see connectPeripheral: * */ CB_EXTERN NSString * const CBConnectPeripheralOptionNotifyOnDisconnectionKey; /*! * @const CBConnectPeripheralOptionNotifyOnNotificationKey * * @discussion An NSNumber (Boolean) indicating that the system should display an alert for all notifications received from a given peripheral, if * the application is suspended at the time. * This is useful for applications that have not specified the bluetooth-central background mode and cannot display their * own alert. If more than one application has requested notification for a given peripheral, the one that was most recently in the foreground * will receive the alert. * * @see connectPeripheral: * */ CB_EXTERN NSString * const CBConnectPeripheralOptionNotifyOnNotificationKey NS_AVAILABLE(10_13, 6_0); /*! * @const CBConnectPeripheralOptionStartDelayKey * * @discussion An NSNumber indicating the number of seconds for the system to wait before starting a connection. * * @see connectPeripheral: * */ CB_EXTERN NSString * const CBConnectPeripheralOptionStartDelayKey NS_AVAILABLE(10_13, 6_0); /*! * @const CBConnectPeripheralOptionEnableTransportBridgingKey * * @discussion An NSNumber (Boolean) indicating that the system will bring up classic transport profiles when low energy transport for peripheral is connected. * * @see connectPeripheral: * */ CB_EXTERN NSString * const CBConnectPeripheralOptionEnableTransportBridgingKey NS_AVAILABLE_IOS(13_0); /*! * @const CBConnectPeripheralOptionRequiresANCS * * @discussion An NSNumber (Boolean) indicating that the ANCS (Apple Notification Center Service) is required for the peripheral is connected. * * @see connectPeripheral: * */ CB_EXTERN NSString * const CBConnectPeripheralOptionRequiresANCS NS_AVAILABLE_IOS(13_0); /*! * @const CBCentralManagerRestoredStatePeripheralsKey * * @discussion An NSArray of CBPeripheral objects containing all peripherals that were connected or pending connection at the time the * application was terminated by the system. When possible, all known information for each peripheral will be restored, including any discovered * services, characteristics and descriptors, as well as characteristic notification states. * * @see centralManager:willRestoreState: * @seealso connectPeripheral:options: * */ CB_EXTERN NSString * const CBCentralManagerRestoredStatePeripheralsKey NS_AVAILABLE(10_13, 7_0); /*! * @const CBCentralManagerRestoredStateScanServicesKey * * @discussion An NSArray of CBUUID objects containing the service(s) being scanned for at the time the application was terminated by the system. * * @see centralManager:willRestoreState: * @seealso scanForPeripheralsWithServices:options: * */ CB_EXTERN NSString * const CBCentralManagerRestoredStateScanServicesKey NS_AVAILABLE(10_13, 7_0); /*! * @const CBCentralManagerRestoredStateScanOptionsKey * * @discussion An NSDictionary containing the scan options at the time the application was terminated by the system. * * @see centralManager:willRestoreState: * @seealso scanForPeripheralsWithServices:options: * */ CB_EXTERN NSString * const CBCentralManagerRestoredStateScanOptionsKey NS_AVAILABLE(10_13, 7_0); typedef NSString * CBConnectionEventMatchingOption NS_TYPED_ENUM; /*! * @const CBConnectionEventMatchingOptionServiceUUIDs * * @discussion An NSArray of CBUUID objects respresenting service UUIDs. A connected peer with any matching service UUIDs will result * in a call to {@link centralManager:connectionEventDidOccur:}. * A maximum of 4 services can be registered. * * @see centralManager:connectionEventDidOccur:forPeripheral: * @seealso registerForConnectionEventsWithOptions: * */ CB_EXTERN CBConnectionEventMatchingOption const CBConnectionEventMatchingOptionServiceUUIDs CB_CM_API_AVAILABLE; /*! * @const CBConnectionEventMatchingOptionPeripheralUUIDs * * @discussion An NSArray of NSUUID objects respresenting peripheral identifiers. A connected peer with any matching identifier(s) will result * in a call to {@link centralManager:connectionEventDidOccur:}. * * @see centralManager:connectionEventDidOccur:forPeripheral: * @seealso registerForConnectionEventsWithOptions: * */ CB_EXTERN CBConnectionEventMatchingOption const CBConnectionEventMatchingOptionPeripheralUUIDs CB_CM_API_AVAILABLE; /*! * @const CBConnectPeripheralOptionEnableAutoReconnect * * @discussion An NSNumber (Boolean) indicating that the AutoReconnect is enabled for the peripheral is connected. After peripheral device is connected, this will allow * the system to initiate connect to the peer device automatically when link is dropped. Caller will get notified about the disconnection with potential delay via * {@link centralManager:didDisconnectPeripheral:timestamp:isReconnecting:error:} * * @see connectPeripheral: * */ CB_EXTERN NSString * const CBConnectPeripheralOptionEnableAutoReconnect NS_AVAILABLE(14_0, 17_0); NS_ASSUME_NONNULL_END