@class NSMutableArray, NSMapTable, NSObject; @protocol OS_dispatch_source, CBCentralManagerDelegate; @interface CBCentralManager : CBManager { struct { unsigned char willRestoreState : 1; unsigned char didDiscoverPeripheral : 1; unsigned char didConnectPeripheral : 1; unsigned char didFailToConnectPeripheral : 1; unsigned char didDisconnectPeripheral : 1; unsigned char didDisconnectPeripheralWithTimestamp : 1; unsigned char didUpdatePeripheralConnectionState : 1; unsigned char didFindPeripheral : 1; unsigned char didLosePeripheral : 1; unsigned char didLoseZone : 1; unsigned char didUpdateConnectionParameters : 1; unsigned char connectionEventDidOccur : 1; unsigned char didSendBytesToPeripheralWithError : 1; unsigned char didReceiveDataFromPeripheral : 1; unsigned char didDiscoverMultiplePeripherals : 1; unsigned char didUpdateANCSAuthorizationForPeripheral : 1; unsigned char canSendDataToPeripheral : 1; unsigned char didFailToStartScanWithError : 1; unsigned char didUpdateControllerBTClockForPeripheral : 1; unsigned char didUpdateControllerBTClockDictForPeripheral : 1; unsigned char didUpdateMTUForPeripheral : 1; unsigned char didUpdateRSSIStatisticsDetectionForPeripheral : 1; unsigned char didUpdateUsageStatisticEvent : 1; unsigned char didChannelSoundingProcedureEvent : 1; unsigned char didUpdateScanParams : 1; unsigned char didUpdateFindMyPeripherals : 1; } _delegateFlags; BOOL _observingKeyPaths; } @property (nonatomic) BOOL isScanning; @property (readonly, retain, nonatomic) NSMapTable *peripherals; @property (copy, nonatomic) id /* block */ scanCompletion; @property (retain, nonatomic) NSObject *updateTimer; @property (retain) NSMutableArray *discoveredPeripherals; @property (weak, nonatomic) id delegate; + (BOOL)supportsFeatures:(unsigned long long)a0; - (void)setConnectionEventOptions:(id)a0; - (void)stopScan; - (void)powerAssertionNearCompletion; - (void)handleRestoringState:(id)a0; - (void)csReadLocalSupportedCapabilities; - (void)retrievePeripheralsWithCustomProperties:(id)a0 completion:(id /* block */)a1; - (id)init; - (void)retrievePeripheralsWithTags:(id)a0 completion:(id /* block */)a1; - (BOOL)isMsgAllowedAlways:(unsigned short)a0; - (void)clearDuplicateFilterCache:(id)a0; - (void)dealloc; - (void)handleFindMyDevicesUpdated:(id)a0; - (void)removeIRKwithBTAddress:(id)a0; - (void)updatePeripheral:(id)a0 options:(id)a1; - (void)retrievePeripheralsWithIdentifiers:(id)a0 completion:(id /* block */)a1; - (id)retrieveState; - (id)retrieveConnectingPeripherals; - (unsigned short)getTotalSupportedAdvancedMatchingRules; - (void)handlePeripheralConnectionStateUpdated:(id)a0; - (void)cancelPeripheralConnection:(id)a0 options:(id)a1; - (void)setDataLengthChange:(id)a0 options:(id)a1; - (void)handleUpdateUsageNotificationForPeripheral:(id)a0; - (void)createOfflineLEPairing:(unsigned short)a0; - (void)HandleRssiDetectionUpdateMsg:(id)a0; - (id)retrieveWhbCBPeripheralWithInfo:(id)a0; - (void)deleteDevice:(id)a0; - (id)retrieveConnectedPeripheralsWithServices:(id)a0 allowAll:(BOOL)a1; - (void)csSecurityEnable:(id)a0; - (void)handleScanComplete:(id)a0; - (id)peripheralWithInfo:(id)a0; - (void)handlePeripheralDisconnectionCompleted:(id)a0; - (void)retrieveConnectedPeripheralsWithServices:(id)a0 completion:(id /* block */)a1; - (void)handleConnectionParametersUpdated:(id)a0; - (void)activateWhbCnxForCBPeripheral:(id)a0 infoDict:(id)a1; - (void)cancelPeripheralConnection:(id)a0; - (void)handleSupportedFeatures:(id)a0; - (id)createPeripheralWithAddress:(id)a0 andIdentifier:(id)a1; - (void)handleApplicationActivityEvent:(id)a0; - (void)csReadRemoteSupportedCapabilities:(id)a0; - (void)forEachPeripheral:(id /* block */)a0; - (void)enablePrivateModeForPeripheral:(id)a0 forDuration:(unsigned short)a1; - (void)orphanPeripherals; - (void)handleScanFailedToStartWithError:(id)a0; - (void)HandleControllerBTClockUpdateMsg:(id)a0; - (BOOL)isMsgAllowedWhenOff:(unsigned short)a0; - (void)handlePeripheralCLReady:(id)a0; - (void)handlePeripheralDiscovered:(id)a0; - (void)handleApplicationConnectionEventDidOccur:(id)a0; - (void)removeAdvancedMatchingRule:(id)a0; - (void)handleAdvertisingAddressChanged:(id)a0; - (id)retrieveAddressForPeripheral:(id)a0; - (void)handlePeerMTUChanged:(id)a0; - (void)resumeLeConnectionManager; - (void)handlePeripheralConnectionCompleted:(id)a0; - (id)peerWithInfo:(id)a0; - (id)initWithDelegate:(id)a0 queue:(id)a1; - (void)enablePrivateModeForSessionWithIdentifier:(id)a0 forDuration:(unsigned short)a1; - (void)handleAncsAuthChanged:(id)a0; - (void)handleMsg:(unsigned short)a0 args:(id)a1; - (void)startTrackingPeripheral:(id)a0 options:(id)a1; - (void)retrievePeripheralsWithFindMyIds:(id)a0 completion:(id /* block */)a1; - (id)getLPEMData:(id)a0; - (void)csReadLocalFAETable; - (void)HandleBluetoothUsageEventMsg:(id)a0; - (void)retrievePeripherals:(id)a0; - (void)addIRKwithBTAddress:(id)a0 irk:(id)a1; - (void)handlePeripheralInvalidated:(id)a0; - (void)retrieveConnectedPeripherals; - (void)setRSSIStatisticsDetection:(id)a0 options:(id)a1; - (void)HandleCSProcedureEventMsg:(id)a0; - (void)setLePowerControl:(id)a0 options:(id)a1 completion:(id /* block */)a2; - (void)handleDidReceiveDataFromPeripheral:(id)a0; - (void)resumeScans; - (void)csWriteRemoteFAETable:(id)a0 options:(id)a1; - (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3; - (void)setBluetoothUsageNotifications:(id)a0 options:(id)a1; - (id)initWithDelegate:(id)a0 queue:(id)a1 options:(id)a2; - (void).cxx_destruct; - (void)csSetDefaultSettings:(id)a0 options:(id)a1; - (void)cancelPeripheralConnection:(id)a0 force:(BOOL)a1; - (void)csReadRemoteFAETable:(id)a0; - (void)setDesiredConnectionLatency:(long long)a0 forPeripheral:(id)a1 completion:(id /* block */)a2; - (void)setLeAFHMap:(id)a0; - (void)csTest:(id)a0; - (id)retrievePeripheralsWithIdentifiers:(id)a0; - (id)dataArrayToUUIDArray:(id)a0; - (id)isApplicationConnectedToAnyPeripherals:(id)a0; - (void)handlePeripheralTrackingUpdated:(id)a0; - (void)stopTrackingPeripheral:(id)a0 options:(id)a1; - (void)scanForPeripheralsWithServices:(id)a0 options:(id)a1 completion:(id /* block */)a2; - (void)pauseLeConnectionManager; - (void)csProcedureEnable:(id)a0 options:(id)a1; - (void)registerForConnectionEventsWithOptions:(id)a0; - (void)_scanForPeripheralsWithServices:(id)a0 options:(id)a1; - (void)csSetProcedureParams:(id)a0 options:(id)a1; - (void)addAdvancedMatchingRule:(id)a0; - (void)csRemoveConfig:(id)a0 options:(id)a1; - (unsigned short)retrieveMaxConnectionForUsecase:(unsigned int)a0; - (id)peripheralWithIdentifier:(id)a0; - (void)removeSingleEntryDuplicateFilter:(id)a0; - (void)removeMultipleEntriesDuplicateFilter:(id)a0; - (void)retrievePeripheralsWithFindMySerialNumbers:(id)a0 completion:(id /* block */)a1; - (id)retrievePeripheralWithAddress:(id)a0; - (void)setLESetPhy:(id)a0 options:(id)a1; - (void)handleReadyForUpdates:(id)a0; - (void)pauseScans; - (void)wipeDuplicateFilterList:(id)a0; - (id)retrievePairingInfoForPeripheral:(id)a0; - (id)startConnectionEventCounterForPeripheral:(id)a0; - (void)retrievePeripheralsWithFindMySerialNumberStrings:(id)a0 completion:(id /* block */)a1; - (id)retrieveConnectedPeripheralsWithServices:(id)a0; - (void)handleZoneLost:(id)a0; - (id)createCBPeripheralsFromIDs:(id)a0; - (void)csCreateConfig:(id)a0 options:(id)a1; - (id)stopConnectionEventCounterForPeripheral:(id)a0; - (void)setDesiredConnectionLatency:(long long)a0 forPeripheral:(id)a1; - (void)csSetAfh:(id)a0; - (void)setEnhancedScanEnable:(id)a0; - (void)enableMrc:(id)a0 options:(id)a1; - (void)setEnhancedSetScanParamtersMultiCore:(id)a0; - (void)readLocalFastLeConnectionCachedControllerInfoWithcompletion:(id /* block */)a0; - (void)randomizeAFHMapForPeripheral:(id)a0; - (void)setMatchActionRules:(id)a0; - (void)connectWhbCBPeripheral:(id)a0 withCompletion:(id /* block */)a1; - (void)handleScanParamsUpdated:(id)a0; - (void)connectPeripheral:(id)a0 options:(id)a1; - (void)handleDidSendBytesToPeripheralwithError:(id)a0; - (void)sendData:(id)a0 toPeripheral:(id)a1; - (void)scanForPeripheralsWithServices:(id)a0 options:(id)a1; - (unsigned short)getRemainingAdvancedMatchingRule; @end