@class NSData, HAP2SerializedOperationQueue, NSString, NSArray, NSBackgroundActivityScheduler, HAP2PropertyLock, HMFVersion, HAPDeviceID; @protocol HAP2AccessoryServerPairingDriver, HAPAccessoryReachabilityClient, HAPAccessoryReachabilityProfile, HAP2Accessory, HAP2UnpairedAccessoryServerPairDelegate, HAP2AccessoryServerDelegate, HAP2Cancelable, HAP2AccessoryServerMetadata, HAP2AccessoryServerControllerPrivate, HAP2AccessoryServerBrowserPrivate; @interface HAP2AccessoryServer : HAP2LoggingObject <HAP2PairedAccessoryServerPrivate, HAPAccessoryReachabilityDelegate, HAP2UnpairedAccessoryServerPrivate, HAP2AccessoryServerPairingDriverDelegate, HAP2AccessoryServerPrivate, HAP2AccessoryServer> { BOOL _internallyPaired; id<HAP2AccessoryServerMetadata> _currentMetadata; NSArray *_privateAccessories; NSString *_pairedName; HMFVersion *_pairedProtocolVersion; id<HAP2Cancelable> _outstandingUpdateAccessoriesRequest; id<HAP2AccessoryServerPairingDriver> _internalPairingDriver; id<HAP2UnpairedAccessoryServerPairDelegate> _pairDelegate; id<HAPAccessoryReachabilityClient> _reachability; id<HAPAccessoryReachabilityProfile> _reachabilityProfile; NSBackgroundActivityScheduler *_backgroundScheduler; HAP2PropertyLock *_propertyLock; } @property (readonly, weak, nonatomic) id<HAP2AccessoryServerBrowserPrivate> browser; @property (readonly, nonatomic) id<HAP2AccessoryServerControllerPrivate> controller; @property (readonly, nonatomic) HAP2SerializedOperationQueue *operationQueue; @property (retain, nonatomic) NSString *productData; @property (weak, nonatomic) id<HAP2AccessoryServerDelegate> delegate; @property (readonly, nonatomic) unsigned long long connectionState; @property (readonly, nonatomic) BOOL hasDiscoveryAdvertisement; @property (readonly, copy, nonatomic) NSString *reachabilityChangedReason; @property (readonly, nonatomic) double sessionCheckInterval; @property (readonly, nonatomic) HAPDeviceID *deviceID; @property (readonly, nonatomic) BOOL hasPairings; @property (readonly, nonatomic) HMFVersion *protocolVersion; @property (readonly, nonatomic) NSString *name; @property (readonly, nonatomic) NSString *model; @property (readonly, nonatomic) unsigned long long category; @property (readonly, nonatomic) unsigned short stateNumber; @property (readonly, nonatomic) unsigned short configNumber; @property (readonly, nonatomic) NSData *setupHash; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, nonatomic, getter=isPaired) BOOL paired; @property (readonly, nonatomic) id<HAP2Accessory> primaryAccessory; @property (readonly, nonatomic) NSArray *accessories; @property (readonly, nonatomic) id<HAP2AccessoryServerPairingDriver> pairingDriver; @property (readonly, weak, nonatomic) id<HAP2AccessoryServerBrowserPrivate> browser; @property (readonly, nonatomic) id<HAP2AccessoryServerControllerPrivate> controller; @property (readonly, nonatomic) HAP2SerializedOperationQueue *operationQueue; @property (retain, nonatomic) NSString *productData; @property (weak, nonatomic) id<HAP2AccessoryServerDelegate> delegate; @property (readonly, nonatomic) unsigned long long connectionState; @property (readonly, nonatomic) BOOL hasDiscoveryAdvertisement; @property (readonly, copy, nonatomic) NSString *reachabilityChangedReason; @property (readonly, nonatomic) double sessionCheckInterval; @property (readonly, nonatomic) HAPDeviceID *deviceID; @property (readonly, nonatomic) BOOL hasPairings; @property (readonly, nonatomic) HMFVersion *protocolVersion; @property (readonly, nonatomic) NSString *name; @property (readonly, nonatomic) NSString *model; @property (readonly, nonatomic) unsigned long long category; @property (readonly, nonatomic) unsigned short stateNumber; @property (readonly, nonatomic) unsigned short configNumber; @property (readonly, nonatomic) NSData *setupHash; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, nonatomic) NSString *setupID; @property (retain, nonatomic) NSString *setupID; @property (nonatomic) BOOL hasDiscoveryAdvertisement; @property (copy, nonatomic) NSString *reachabilityChangedReason; @property (readonly, weak, nonatomic) id<HAP2AccessoryServerBrowserPrivate> browser; @property (readonly, nonatomic) id<HAP2AccessoryServerControllerPrivate> controller; @property (readonly, nonatomic) HAP2SerializedOperationQueue *operationQueue; @property (retain, nonatomic) NSString *productData; @property (weak, nonatomic) id<HAP2AccessoryServerDelegate> delegate; @property (readonly, nonatomic) unsigned long long connectionState; @property (readonly, nonatomic) double sessionCheckInterval; @property (readonly, nonatomic) HAPDeviceID *deviceID; @property (readonly, nonatomic) BOOL hasPairings; @property (readonly, nonatomic) HMFVersion *protocolVersion; @property (readonly, nonatomic) NSString *name; @property (readonly, nonatomic) NSString *model; @property (readonly, nonatomic) unsigned long long category; @property (readonly, nonatomic) unsigned short stateNumber; @property (readonly, nonatomic) unsigned short configNumber; @property (readonly, nonatomic) NSData *setupHash; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)new; + (id)pairedAccessoryServerWithMetadata:(id)a0 browser:(id)a1 controller:(id)a2 operationQueue:(id)a3; + (id)unpairedAccessoryServerWithMetadata:(id)a0 browser:(id)a1 controller:(id)a2 pairingDriver:(id)a3 operationQueue:(id)a4; - (id)init; - (void)dealloc; - (void).cxx_destruct; - (BOOL)isConfirming; - (id)unpairWithCompletion:(id /* block */)a0; - (void)closeSession; - (void)startConfirming; - (void)_performBackgroundPollWithCompletion:(id /* block */)a0; - (void)_setBackgroundActivityScheduler:(id)a0; - (id)addPairing:(id)a0 completion:(id /* block */)a1; - (void)becomePairedWithAccessoryServer:(id)a0; - (void)becomeUnpairedWithAccessoryServer:(id)a0; - (void)clearAccessories; - (id)disableNotificationsForCharacteristics:(id)a0 completion:(id /* block */)a1; - (id)enableNotificationsForCharacteristics:(id)a0 completion:(id /* block */)a1; - (id)getPairingsWithCompletion:(id /* block */)a0; - (void)handleEvents:(id)a0; - (void)handleLostDiscoveryAdvertisement; - (void)handleLostDiscoveryAdvertisementWithWillSleep:(BOOL)a0; - (void)handleNetworkChanged; - (void)handleReestablishedSession; - (void)handleUpdatedCharacteristicValues:(id)a0; - (id)identifyWithCompletion:(id /* block */)a0; - (void)mergeWithNewlyDiscoveredPairedAccessoryServer:(id)a0; - (void)mergeWithNewlyDiscoveredUnpairedAccessoryServer:(id)a0; - (id)pairWithDelegate:(id)a0; - (void)pairingDriver:(id)a0 authenticateSoftwareAuthUUID:(id)a1 token:(id)a2 completion:(id /* block */)a3; - (void)pairingDriver:(id)a0 confirmSoftwareAuthUUID:(id)a1 token:(id)a2 completion:(id /* block */)a3; - (void)pairingDriver:(id)a0 didCompleteWithError:(id)a1; - (void)pairingDriver:(id)a0 didFinishAuthWithError:(id)a1; - (void)pairingDriver:(id)a0 didRejectSetupCodeForAccessory:(id)a1 backoffInterval:(double)a2 completion:(id /* block */)a3; - (void)pairingDriver:(id)a0 didRequestLocalPairingIdentityWithCompletion:(id /* block */)a1; - (void)pairingDriver:(id)a0 didSaveRemotePairingIdentity:(id)a1 completion:(id /* block */)a2; - (void)pairingDriver:(id)a0 doesRequirePermission:(unsigned long long)a1 accessory:(id)a2 completion:(id /* block */)a3; - (void)pairingDriver:(id)a0 doesRequireSetupCodeForAccessory:(id)a1 completion:(id /* block */)a2; - (void)pairingDriver:(id)a0 validatePairingCert:(id)a1 model:(id)a2 completion:(id /* block */)a3; - (void)pairingDriver:(id)a0 validateSoftwareAuthUUID:(id)a1 token:(id)a2 model:(id)a3 completion:(id /* block */)a4; - (void)pollAccessory; - (id)readValuesForCharacteristics:(id)a0 timeout:(double)a1 completion:(id /* block */)a2; - (id)removePairing:(id)a0 completion:(id /* block */)a1; - (void)stopConfirming; - (id)updateAccessoriesWithReason:(id)a0; - (void)verifyConnection; - (id)writeValuesForCharacteristics:(id)a0 timeout:(double)a1 completion:(id /* block */)a2; @end