@class NSMutableDictionary, NSUUID, HAPDeviceID, NSDate, NSObject, NSDictionary, HMFActivity, HAPAccessory, NSString, HMFVersion, NSHashTable, HAPKeyBag, NSArray, HAPSuspendedAccessory, NSData, HAPAccessoryPairingRequest, NSNumber; @protocol OS_dispatch_queue, HAPAccessoryServerDelegate, HAPKeyStore; @interface HAPAccessoryServer : HMFObject { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _metriclock; } @property (readonly, nonatomic) NSHashTable *internalDelegates; @property (readonly, nonatomic) NSObject<OS_dispatch_queue> *internalDelegateQueue; @property (retain, nonatomic) NSHashTable *notificationClients; @property (nonatomic) int successfulPingCount; @property (nonatomic) int failedPingCount; @property (retain, nonatomic) NSMutableDictionary *localPairingMetricDictionary; @property BOOL unitTest_useHH2; @property (readonly, weak) id<HAPAccessoryServerDelegate> delegate; @property (readonly, nonatomic) NSObject<OS_dispatch_queue> *delegateQueue; @property (readonly, nonatomic) NSObject<OS_dispatch_queue> *clientQueue; @property (copy, nonatomic) NSString *name; @property (nonatomic) BOOL hasPairings; @property (retain, nonatomic) HAPSuspendedAccessory *suspendedAccessory; @property (nonatomic) unsigned long long pendingRemovePairing; @property (nonatomic, getter=isReachable) BOOL reachable; @property (getter=isSecuritySessionOpen) BOOL securitySessionOpen; @property (copy, nonatomic) NSString *identifier; @property (copy, nonatomic) NSNumber *category; @property (nonatomic) unsigned long long configNumber; @property (nonatomic) unsigned long long stateNumber; @property (nonatomic) unsigned long long wakeNumber; @property (nonatomic) unsigned long long compatibilityFeatures; @property (nonatomic, getter=isIncompatibleUpdate) BOOL incompatibleUpdate; @property (retain, nonatomic) HAPAccessory *primaryAccessory; @property (copy, nonatomic) NSArray *accessories; @property (readonly, weak, nonatomic) id<HAPKeyStore> keyStore; @property (copy, nonatomic) NSData *setupHash; @property (copy) HMFVersion *version; @property (nonatomic) unsigned long long pairSetupType; @property (retain, nonatomic) NSString *productData; @property (copy, nonatomic) NSString *reachabilityChangedReason; @property BOOL hasAdvertisement; @property (retain, nonatomic) HAPKeyBag *keyBag; @property (retain, nonatomic) HAPAccessoryPairingRequest *pairingRequest; @property (weak, nonatomic) HMFActivity *pairingActivity; @property BOOL supportsUnreachablePing; @property unsigned long long metric_pairVerifyDurationInMS; @property (copy, nonatomic) NSString *metric_pairVerifyReason; @property (readonly, getter=isKnownToSystemCommissioner) BOOL knownToSystemCommissioner; @property (readonly, copy) NSData *rootPublicKey; @property (readonly, copy) NSNumber *nodeID; @property (readonly, copy) NSUUID *commissioningID; @property (readonly, copy) NSNumber *vendorID; @property (readonly, copy) NSNumber *productID; @property (readonly, copy) HAPDeviceID *deviceID; @property (readonly, nonatomic) long long linkType; @property (readonly, nonatomic) long long linkLayerType; @property (nonatomic) BOOL supportsTimedWrite; @property (nonatomic) unsigned long long authMethod; @property (readonly, nonatomic, getter=isBLELinkConnected) BOOL bleLinkConnected; @property (nonatomic) BOOL reachabilityPingEnabled; @property (nonatomic, getter=isSessionRestoreActive, setter=setSessionRestoreActive:) BOOL sessionRestoreActive; @property (copy, nonatomic) NSDate *connectionStartTime; @property BOOL shouldDisconnectOnIdle; @property (readonly) long long communicationProtocol; @property (readonly, nonatomic) NSDictionary *pairingMetricDictionary; - (BOOL)isPaired; - (void)disconnect; - (id)init; - (BOOL)shouldRetryPVDueToAuthenticationError:(id)a0; - (void)disconnectWithError:(id)a0; - (id)shortDescription; - (void)associateAccessoryWithControllerKeyUsingAccessoryPublicKey:(id)a0; - (void)initializeKeyBagIfNecessary; - (void)associateAccessoryWithControllerKeyUsingAccessoryIdentifier:(id)a0; - (void)reconfirm; - (id)logIdentifier; - (void)setDelegate:(id)a0 queue:(id)a1; - (void).cxx_destruct; - (void)registerForNotifications:(id)a0; - (BOOL)isPinging; - (void)disassociateAccessoryWithControllerKeyUsingAccessoryIdentifier:(id)a0; - (BOOL)matchesSetupID:(id)a0; - (void)provisionToken:(id)a0; - (void)tearDownSessionOnAuthCompletion; - (void)addInternalDelegate:(id)a0; - (void)addPairing:(id)a0 completionQueue:(id)a1 completionHandler:(id /* block */)a2; - (void)associateAccessoryWithControllerKey:(id)a0 usingAccessoryPublicKey:(id)a1; - (void)authenticateAccessory; - (id)buildReachabilityNotificationDictionary:(id)a0 reachable:(BOOL)a1 linkType:(long long)a2 withError:(long long)a3; - (void)clearPairingMetrics; - (void)continueAuthAfterValidation:(BOOL)a0; - (void)continuePairingAfterAuthPrompt; - (void)continuePairingUsingWAC; - (void)disconnectOnIdleUpdated; - (void)discoverAccessories; - (BOOL)doesPeriodicSessionChecks; - (void)enableEvents:(BOOL)a0 forCharacteristics:(id)a1 withCompletionHandler:(id /* block */)a2 queue:(id)a3; - (void)enumerateInternalDelegatesUsingBlock:(id /* block */)a0; - (id)getControllerPairingIdentityWithError:(id *)a0; - (id)getControllerUserName; - (void)handleUpdatesForCharacteristics:(id)a0 stateNumber:(id)a1; - (void)identifyWithCompletion:(id /* block */)a0; - (void)incrementFailedPing; - (void)incrementSuccessfulPing; - (id)initWithKeystore:(id)a0; - (BOOL)isAccessoryAssociatedWithControllerKey:(id)a0; - (void)listPairingsWithCompletionQueue:(id)a0 completionHandler:(id /* block */)a1; - (BOOL)matchesSetupID:(id)a0 serverIdentifier:(id)a1; - (BOOL)notifyClients:(unsigned long long)a0 withDictionary:(id)a1; - (unsigned long long)numActiveSessionClients; - (BOOL)pingSupported; - (void)readCharacteristicValues:(id)a0 timeout:(double)a1 completionQueue:(id)a2 completionHandler:(id /* block */)a3; - (void)refreshKeyBag; - (void)removeInternalDelegate:(id)a0; - (void)removePairing:(id)a0 completionQueue:(id)a1 completionHandler:(id /* block */)a2; - (BOOL)removePairingForCurrentControllerOnQueue:(id)a0 completion:(id /* block */)a1; - (void)removePairingIdentifier:(id)a0 pairingPublicKey:(id)a1 completionQueue:(id)a2 completionHandler:(id /* block */)a3; - (BOOL)requiresTimedWrite:(id)a0; - (void)securitySessionWillCloseWithResponseData:(id)a0 error:(id *)a1; - (unsigned long long)sessionCheckInterval; - (void)setPairingMetricWithKey:(id)a0 value:(id)a1; - (void)startPairingWithConsentRequired:(BOOL)a0 config:(id)a1 ownershipToken:(id)a2; - (void)startPairingWithRequest:(id)a0; - (void)startPing; - (BOOL)stopPairingWithError:(id *)a0; - (void)stopPing; - (void)submitPairVerifyMetricWithError:(id)a0; - (BOOL)tryPairingPassword:(id)a0 onboardingSetupPayloadString:(id)a1 error:(id *)a2; - (void)unregisterForNotifications:(id)a0; - (void)updateAccessoryInfoDictionary:(id)a0; - (void)updateActiveDisconnectOnIdleTimeout:(double)a0; - (BOOL)useHH2; - (void)validatePairingAuthMethod:(id /* block */)a0; - (void)writeCharacteristicValues:(id)a0 timeout:(double)a1 completionQueue:(id)a2 completionHandler:(id /* block */)a3; @end