@class CBCentralManager, NSString, NSMutableDictionary, NSData, NSMutableArray, NSObject, CBPeripheralManager; @protocol OS_dispatch_queue; @interface CUBluetoothClient : NSObject <CBCentralManagerDelegate, CBPeripheralManagerDelegate> { NSData *_btAdvertisingAddress; CBCentralManager *_btCentralManager; BOOL _btCentralManagerNeeded; CBPeripheralManager *_btPeripheralManager; BOOL _btPeripheralManagerNeeded; BOOL _btConnectionEventsNeeded; BOOL _btConnectionDevicesInitialized; struct { void /* function */ *accessoryEvent; void /* function */ *accessorySetupCommand; void /* function */ *accessoryRelayMsgRecv; void /* function */ *accessoryCommandStatus; } _btAccessoryCallbacks; BOOL _btAccessoryEventsNeeded; BOOL _btAccessoryEventsRegistered; struct BTAccessoryManagerImpl { } *_btAccessoryManager; struct BTSessionImpl { } *_btSession; BOOL _btSessionAddedServiceCallback; BOOL _btSessionAttaching; BOOL _btSessionNeeded; BOOL _btSessionStarted; struct BTLocalDeviceImpl { } *_btLocalDevice; NSData *_btLocalDeviceAddr; BOOL _btLocalDeviceAddrNeeded; struct { void /* function */ *statusEvent; void /* function */ *leTestStopped; void /* function */ *afhMapChanged; } _btLocalDeviceCallbacks; BOOL _btLocalDeviceCallbacksNeeded; BOOL _btLocalDeviceCallbacksRegistered; struct BTPairingAgentImpl { } *_btPairingAgent; BOOL _btPairingAgentNeeded; BOOL _btPairingAgentStarted; NSMutableDictionary *_btConnectedDevices; NSMutableDictionary *_btPairedDevices; BOOL _btPairedDevicesInitialized; NSMutableArray *_findDeviceRequests; BOOL _invalidateCalled; BOOL _invalidateDone; struct LogCategory { int x0; int x1; char *x2; unsigned int x3; char *x4; char *x5; int x6; struct LogCategory *x7; struct LogOutput *x8; struct LogOutput *x9; unsigned long long x10; unsigned long long x11; unsigned int x12; unsigned int x13; char *x14; struct LogCategoryPrivate *x15; } *_ucat; } @property (nonatomic) int bluetoothState; @property (retain, nonatomic) NSObject<OS_dispatch_queue> *dispatchQueue; @property (nonatomic) unsigned int flags; @property (copy, nonatomic) NSString *label; @property (nonatomic) unsigned int requiredServices; @property (nonatomic) unsigned int statusFlags; @property (copy, nonatomic) id /* block */ bluetoothAddressChangedHandler; @property (copy, nonatomic) id /* block */ bluetoothStateChangedHandler; @property (copy, nonatomic) id /* block */ deviceConnectedHandler; @property (copy, nonatomic) id /* block */ deviceDisconnectedHandler; @property (copy, nonatomic) id /* block */ deviceEventHandler; @property (copy, nonatomic) id /* block */ devicePairedHandler; @property (copy, nonatomic) id /* block */ deviceUnpairedHandler; @property (copy, nonatomic) id /* block */ interruptionHandler; @property (copy, nonatomic) id /* block */ invalidationHandler; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (void)centralManagerDidUpdateState:(id)a0; - (void)_btEnsureStopped; - (id)init; - (void)_btAccessoryPlacementChanged:(struct BTAccessoryManagerImpl { } *)a0 device:(struct BTDeviceImpl { } *)a1; - (void)peripheralManagerDidUpdateState:(id)a0; - (void)setDeviceFlags:(unsigned int)a0 mask:(unsigned int)a1 deviceID:(id)a2 completion:(id /* block */)a3; - (void)dealloc; - (void)updateDevice:(id)a0 btDevice:(struct BTDeviceImpl { } *)a1; - (void)_invalidated; - (void)_externalInvokeBlock:(id /* block */)a0; - (struct BTDeviceImpl { } *)_btDeviceWithID:(id)a0 error:(id *)a1; - (id)descriptionWithLevel:(int)a0; - (id)_internalDispatchQueue; - (void)_btEnsureStarted; - (id)_createCUBluetoothDeviceWithBTDevice:(struct BTDeviceImpl { } *)a0; - (void)invalidate; - (void)activate; - (void)_processFindDeviceRequests; - (void)_handleDeviceDisconnected:(struct BTDeviceImpl { } *)a0 reason:(int)a1; - (void)_handleDeviceConnected:(struct BTDeviceImpl { } *)a0; - (void)_setDeviceFlags:(unsigned int)a0 mask:(unsigned int)a1 deviceID:(id)a2 completion:(id /* block */)a3; - (void)_btAccessoryStreamStateChanged:(int)a0 device:(struct BTDeviceImpl { } *)a1; - (void)_handleConnectedDevicesInit; - (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3; - (void)_btAccessoryNameChanged:(struct BTDeviceImpl { } *)a0; - (void).cxx_destruct; - (void)_handleBluetoothAddressChanged; - (void)_findDeviceByAddress:(struct { unsigned char x0[6]; })a0 completion:(id /* block */)a1; - (void)_handleDeviceEvent:(unsigned int)a0 device:(struct BTDeviceImpl { } *)a1; - (void)_handlePairingStatusChanged; - (void)findDeviceByAddress:(struct { unsigned char x0[6]; })a0 completion:(id /* block */)a1; - (void)updateStatusFlags; @end