@class HMFNetAddress, HMFBlockOperation, NSDate, HAPAccessoryServerBrowserIP, NSDictionary, HAPAuthSession, HAPWACAccessoryClient, HAPAccessory, NSMutableArray, HAPHTTPClient, HAPWACAccessory, NSString, NSOperationQueue, NSArray, HMFNetMonitor, NSData, HMFTimer, HAPAccessoryProtocolInfo; @interface HAPAccessoryServerIP : HAPAccessoryServer { struct PairingSessionPrivate { } *_pairingSession; unsigned long long _featureFlags; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock; long long _idleTimerActiveSessions; BOOL _retryingPairSetup; BOOL _securitySessionOpen; } @property (readonly, copy) NSString *shortDescription; @property (readonly, copy) NSString *privateDescription; @property (readonly, copy) NSString *propertyDescription; @property (readonly, copy, nonatomic) NSArray *attributeDescriptions; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (nonatomic) unsigned long long metricHAPIPInvalidationCount; @property (nonatomic) unsigned long long metricHAPIPHTTPEventsCount; @property (nonatomic) unsigned long long metricHAPIPHTTPRequestsCount; @property (nonatomic) unsigned long long metricHAPIPHTTPResponsesCount; @property (nonatomic) double minimumReachabilityPingInterval; @property (retain, nonatomic) NSDate *reachabilityStartTime; @property (retain, nonatomic) NSDictionary *bonjourDeviceInfo; @property (nonatomic) BOOL hasUpdatedBonjour; @property (weak, nonatomic) HAPAccessoryServerBrowserIP *browser; @property (retain, nonatomic) NSArray *ipServices; @property (retain, nonatomic) NSMutableArray *queuedOperations; @property (retain, nonatomic) HAPAccessory *primaryAccessoryForServer; @property (copy, nonatomic) NSString *sourceVersion; @property (nonatomic) unsigned long long statusFlags; @property (readonly, nonatomic) HAPAuthSession *authSession; @property (retain, nonatomic) HAPAccessoryProtocolInfo *authenticatedProtocolInfo; @property (nonatomic) BOOL authenticated; @property (copy, nonatomic) id /* block */ pairVerifyCompletionBlock; @property (copy, nonatomic) id /* block */ netServiceResolveCompletionBlock; @property (nonatomic, getter=isEstablishingSecureConnection) BOOL establishingSecureConnection; @property (nonatomic) BOOL hasAttributeDatabase; @property (nonatomic) BOOL econnresetRetryInProgress; @property (retain, nonatomic) HMFBlockOperation *pairOperation; @property (readonly, nonatomic) NSOperationQueue *clientOperationQueue; @property (nonatomic, getter=isWacAccessory) BOOL wacAccessory; @property (nonatomic, getter=isWacComplete) BOOL wacComplete; @property (nonatomic, getter=isWacLegacy) BOOL wacLegacy; @property (nonatomic, getter=isPreSoftAuthWacStarted) BOOL preSoftAuthWacStarted; @property (nonatomic, getter=isPostSoftAuthWacStarted) BOOL postSoftAuthWacStarted; @property (nonatomic) BOOL invalidated; @property (retain, nonatomic) HAPWACAccessoryClient *hapWACAccessoryClient; @property (nonatomic, getter=isContinuingLegacyWACpairing) BOOL continuingLegacyWACpairing; @property (nonatomic, getter=isWacStarted) BOOL wacStarted; @property (retain, nonatomic) HMFTimer *bonjourEventTimer; @property (nonatomic) BOOL hasStartedPairing; @property (readonly, nonatomic) HMFNetMonitor *networkMonitor; @property (nonatomic, getter=isPairingRequestPending) BOOL pairingRequestPending; @property (nonatomic, getter=isTokenValidationPending) BOOL tokenValidationPending; @property (nonatomic, getter=isHandlingInvalidSetupCode) BOOL handlingInvalidSetupCode; @property (nonatomic) int cancelPairingErr; @property (retain, nonatomic) HMFTimer *reachabilityEventTimer; @property (retain, nonatomic) HMFTimer *connectionIdleTimer; @property double disconnectOnIdleTimeout; @property (nonatomic, getter=isBonjourDiscoveryPending) BOOL bonjourDiscoveryPending; @property (nonatomic) unsigned long long abruptDisconnectionCounter; @property (retain, nonatomic) HAPHTTPClient *httpClient; @property (readonly, nonatomic) HAPWACAccessory *hapWACAccessory; @property (nonatomic) BOOL unitTest_establishedSession; @property (readonly, copy, nonatomic) NSString *model; @property (readonly, getter=isWacNeeded) BOOL wacNeeded; @property (copy, nonatomic) NSData *token; @property (readonly, copy, nonatomic) HMFNetAddress *peerAddress; @property (readonly, copy, nonatomic) HMFNetAddress *peerAddressEx; @property (readonly, nonatomic) NSString *peerEndpointDescription; @property (readonly, copy, nonatomic) NSString *identifier; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (void)initialize; + (id)logCategory; + (id)_parseSerializedAccessoryDictionary:(id)a0 server:(id)a1; + (id)sharedPairOperationQueue; - (void)setModel:(id)a0; - (long long)linkType; - (void)timerDidFire:(id)a0; - (BOOL)isPaired; - (void)disconnect; - (id)services; - (void)dealloc; - (void)_reset; - (void)updateWithBonjourDeviceInfo:(id)a0; - (void)disconnectWithError:(id)a0; - (void)reconfirm; - (void).cxx_destruct; - (void)getAccessoryInfo:(id /* block */)a0; - (BOOL)_delegateRespondsToSelector:(SEL)a0; - (long long)linkLayerType; - (void)networkMonitorIsReachable:(id)a0; - (void)networkMonitorIsUnreachable:(id)a0; - (void)_tearDownSession; - (id)primaryAccessory; - (void)_notifyDelegatesPairingStopped:(id)a0; - (void)_queueReadCharacteristicValues:(id)a0 timeout:(double)a1 queue:(id)a2 completionHandler:(id /* block */)a3; - (void)incrementHAPIPHTTPRequestsCount; - (void)_accessoryDidBecomeUnreachable:(id)a0; - (void)_handlePairSetupAfterM4Callback; - (BOOL)_matchesError:(id)a0 withHAPErrorCode:(long long)a1; - (void)authSession:(id)a0 validateUUID:(id)a1 token:(id)a2; - (void)incrementHAPIPInvalidationCount; - (void)provisionToken:(id)a0; - (void)tearDownSessionOnAuthCompletion; - (void)__registerForInternalCharacteristicNotifications; - (int)_continuePairingAfterAuthPromptWithRetry:(BOOL)a0; - (void)_continuePairingAfterConfirmingSecureWAC:(id)a0; - (void)_continuePairingAfterMFiCertValidation; - (void)_continuePairingAfterWAC:(id)a0; - (void)_continuePairingUsingWAC; - (int)_continuePairingWithSetupCode:(id)a0; - (void)_doBonjourReconfirm; - (void)_doPollForAccessory:(id)a0; - (void)_doReachabilityWithError:(id)a0 forAccessory:(id)a1; - (void)_enableEvents:(BOOL)a0 forCharacteristics:(id)a1 withCompletionHandler:(id /* block */)a2 queue:(id)a3; - (int)_ensureHTTPClientSetUp; - (int)_ensurePairingSessionIsInitializedWithType:(unsigned int)a0; - (void)_error:(id)a0 forReadCharacteristicValues:(id)a1 queue:(id)a2 completionHandler:(id /* block */)a3; - (void)_error:(id)a0 forWriteCharacteristicValues:(id)a1 queue:(id)a2 completionHandler:(id /* block */)a3; - (void)_establishSecureConnectionAndFetchAttributeDatabaseWithReason:(id)a0; - (void)_establishSecureSession; - (void)_establishSecureSessionAndRemovePairing:(id)a0 queue:(id)a1 completion:(id /* block */)a2; - (void)_getAttributeDatabase; - (double)_getReachabilityTimeoutValue; - (double)_getReachabilityTimeoutValueWithSleepInterval:(id)a0; - (void)_handleConnectionIdleTimeout; - (void)_handleEventResponseObject:(id)a0 type:(unsigned long long)a1 httpStatus:(int)a2 error:(id)a3 characteristics:(id)a4 requestedEventState:(BOOL)a5 completion:(id /* block */)a6 queue:(id)a7; - (void)_handleListPairingsResponseObject:(id)a0 type:(unsigned long long)a1 httpStatus:(int)a2 httpError:(id)a3 completionQueue:(id)a4 completionHandler:(id /* block */)a5; - (void)_handleMFiCertValidation; - (int)_handlePairSetupCompletionWithData:(id)a0; - (int)_handlePairVerifyCompletionWithData:(id)a0; - (void)_handlePairingsResponseObject:(id)a0 type:(unsigned long long)a1 httpStatus:(int)a2 httpError:(id)a3 removeRequest:(BOOL)a4 completionQueue:(id)a5 completionBlock:(id /* block */)a6; - (void)_handlePrepareWriteResponseObject:(id)a0 type:(unsigned long long)a1 prepareIdentifier:(id)a2 httpStatus:(int)a3 error:(id)a4 requestTuples:(id)a5 timeout:(double)a6 queue:(id)a7 originalCompletion:(id /* block */)a8 completion:(id /* block */)a9; - (void)_handleReadECONNRESETError:(id)a0 readCharacteristics:(id)a1 responses:(id)a2 timeout:(double)a3 queue:(id)a4 completionHandler:(id /* block */)a5; - (void)_handleReadResponseObject:(id)a0 type:(unsigned long long)a1 httpStatus:(int)a2 error:(id)a3 characteristics:(id)a4 completion:(id /* block */)a5; - (void)_handleSecureSessionClosingWithError:(id *)a0 status:(int)a1 data:(id)a2; - (void)_handleUpdatesForCharacteristics:(id)a0 stateNumber:(id)a1; - (void)_handleWriteECONNResetError:(id)a0 writeRequests:(id)a1 responses:(id)a2 timeout:(double)a3 queue:(id)a4 completionHandler:(id /* block */)a5; - (void)_handleWriteResponseObject:(id)a0 type:(unsigned long long)a1 httpStatus:(int)a2 error:(id)a3 requestTuples:(id)a4 completion:(id /* block */)a5; - (void)_indicateSessionActivityWithReason:(id)a0; - (void)_insertReadCharacteristicValues:(id)a0 timeout:(double)a1 queue:(id)a2 completionHandler:(id /* block */)a3; - (void)_insertWriteCharacteristicValues:(id)a0 timeout:(double)a1 queue:(id)a2 withCompletionHandler:(id /* block */)a3; - (void)_invalidateWAC; - (void)_invokePairVerifyCompletionBlock:(id)a0; - (void)_isAccessoryPublicKeyPresent:(BOOL *)a0 registeredWithHomeKit:(BOOL *)a1; - (BOOL)_isSessionEstablished; - (id)_joinAccessoryNetworkWithCompletion:(id /* block */)a0; - (void)_kickConnectionIdleTimer; - (void)_listPairingsWithCompletionQueue:(id)a0 completionHandler:(id /* block */)a1; - (BOOL)_matchesError:(id)a0 withHAPHMErrorCode:(long long)a1; - (void)_notifyDelegateNeedsOwnershipToken; - (void)_notifyDelegateOfDiscoveryCompletionWithError:(id)a0; - (void)_notifyDelegateOfPairingProgress:(long long)a0; - (void)_notifyDelegatesOfAddAccessoryFailureWithError:(id)a0; - (void)_notifyDelegatesOfConnectionState:(BOOL)a0 withError:(id)a1; - (void)_pairSetupContinueWAC; - (int)_pairSetupStartWithConsentRequired:(BOOL)a0; - (int)_pairSetupTryPassword:(id)a0; - (void)_pairVerifyStartWAC:(id)a0; - (int)_pairVerifyStartWithRetry:(BOOL)a0; - (BOOL)_parseAndValidateTXTRecord; - (void)_parseAttributeDatabase:(id)a0 transaction:(id)a1; - (BOOL)_parseTXTRecordDictionary:(id)a0; - (void)_performEasyConfigWithPairingPrompt:(void /* function */ *)a0 performPairSetup:(BOOL)a1 isSplit:(BOOL)a2 completion:(id /* block */)a3; - (void)_performExecuteWriteValues:(id)a0 prepareIdentifier:(id)a1 timeout:(double)a2 queue:(id)a3 completionHandler:(id /* block */)a4; - (void)_performTimedWriteValues:(id)a0 timeout:(double)a1 queue:(id)a2 completionHandler:(id /* block */)a3; - (void)_performWriteValues:(id)a0 timeout:(double)a1 queue:(id)a2 completionHandler:(id /* block */)a3; - (BOOL)_processEvent:(id)a0 matchedCharacteristic:(id *)a1; - (void)_processQueuedOperationsWithError:(id)a0; - (int)_promptForSetupCodeWithFlags:(unsigned int)a0 delaySeconds:(int)a1 pairingFlags:(unsigned int)a2 isWAC:(BOOL)a3; - (void)_queueAddPairingWithIdentifier:(id)a0 publicKey:(id)a1 admin:(BOOL)a2 queue:(id)a3 completion:(id /* block */)a4; - (void)_queueEnableEvents:(BOOL)a0 forCharacteristics:(id)a1 withCompletionHandler:(id /* block */)a2 queue:(id)a3; - (void)_queueListPairingWithCompletionQueue:(id)a0 completionHandler:(id /* block */)a1; - (void)_queueWriteCharacteristicValues:(id)a0 timeout:(double)a1 queue:(id)a2 withCompletionHandler:(id /* block */)a3; - (id /* block */)_queuedReadOperationBlock:(id)a0 timeout:(double)a1 queue:(id)a2 completionHandler:(id /* block */)a3; - (id /* block */)_queuedWriteOperationBlock:(id)a0 timeout:(double)a1 queue:(id)a2 completionHandler:(id /* block */)a3; - (void)_readCharacteristicValues:(id)a0 timeout:(double)a1 queue:(id)a2 completionHandler:(id /* block */)a3; - (void)_removePairingWithIdentifier:(id)a0 publicKey:(id)a1 queue:(id)a2 completion:(id /* block */)a3; - (void)_requestResource:(id)a0 queue:(id)a1 completionHandler:(id /* block */)a2; - (void)_sendRemovePairingWithData:(id)a0 queue:(id)a1 completion:(id /* block */)a2; - (BOOL)_shouldConnectBasedOnDisconnectOnIdle; - (void)_skipReconfirm; - (void)_startAddPairingWithIdentifier:(id)a0 publicKey:(id)a1 admin:(BOOL)a2 queue:(id)a3 completion:(id /* block */)a4; - (void)_startConnectionIdleTimer; - (void)_startReachability; - (void)_stopReachability; - (void)_stopReachabilityTimer; - (void)_submitStateNumberChangeEvent:(BOOL)a0; - (void)_suspendConnectionIdleTimer; - (void)_tearDownSessionAndReconfirmWithError:(id)a0; - (void)_tearDownSessionWithError:(id)a0; - (void)_tearDownWAC; - (BOOL)_updateAccessories:(id)a0; - (void)_updateProtocolVersionFromPrimaryAccessory:(id)a0; - (void)_updateWithBonjourDeviceInfo:(id)a0; - (BOOL)_validateAuthChallengeResponse:(id)a0 expectedTID:(unsigned char)a1 error:(id *)a2; - (void)_validatePairingAuthMethod:(id /* block */)a0 activity:(id)a1; - (BOOL)_validateProtocolInfo:(id)a0; - (void)_validateReachabilityTimer; - (void)_writeCharacteristicValues:(id)a0 timeout:(double)a1 queue:(id)a2 completionHandler:(id /* block */)a3; - (void)addActiveSession:(long long)a0; - (void)addPairing:(id)a0 completionQueue:(id)a1 completionHandler:(id /* block */)a2; - (void)authSession:(id)a0 authComplete:(id)a1; - (void)authSession:(id)a0 authenticateUUID:(id)a1 token:(id)a2; - (void)authSession:(id)a0 confirmUUID:(id)a1 token:(id)a2; - (void)authSession:(id)a0 sendAuthExchangeData:(id)a1; - (void)authenticateAccessory; - (void)continueAuthAfterValidation:(BOOL)a0; - (void)continuePairingAfterAuthPrompt; - (void)continuePairingUsingWAC; - (id)controllerUsername; - (void /* function */ *)copyPairingIdentityDelegateCallback; - (void)createKeysForDataStreamWithKeySalt:(id)a0 completionHandler:(id /* block */)a1; - (void)disconnectOnIdleUpdated; - (void)discoverAccessories; - (void)enableEvents:(BOOL)a0 forCharacteristics:(id)a1 withCompletionHandler:(id /* block */)a2 queue:(id)a3; - (void /* function */ *)findPairedPeerDelegateCallback; - (int)getBonjourDeviceDNSName:(id *)a0; - (void)handleHTTPClientUnavailableErrorWithCompletion:(id /* block */)a0 serializationType:(unsigned long long)a1; - (void)handleUpdatesForCharacteristics:(id)a0 stateNumber:(id)a1; - (void)hapWACAccessoryClient:(id)a0 setBonjourInfo:(id)a1; - (void)hapWACAccessoryClient:(id)a0 wacProgress:(unsigned long long)a1; - (BOOL)hasBonjourDeviceInfo; - (void)httpClient:(id)a0 didReceiveEvent:(id)a1; - (void)httpClient:(id)a0 didReceiveHTTPMessageWithHeaders:(id)a1 body:(id)a2; - (void)httpClient:(id)a0 didReceiveSocketEvent:(unsigned long long)a1; - (void)httpClient:(id)a0 willSendHTTPMessageWithHeaders:(id)a1 body:(id)a2; - (void)httpClientDidCloseConnectionDueToServer:(id)a0; - (void)identifyWithCompletion:(id /* block */)a0; - (void)incrementHAPIPHTTPEventsCount; - (void)incrementHAPIPHTTPResponsesCount; - (id)initWithBonjourDeviceInfo:(id)a0 keyStore:(id)a1 browser:(id)a2; - (id)initWithHAPWACAccessory:(id)a0 keystore:(id)a1 browser:(id)a2; - (id)initWithKeyStore:(id)a0 browser:(id)a1; - (void)invalidateWithCompletionHandler:(id /* block */)a0; - (void)invokePairVerifyCompletionBlock:(id)a0; - (BOOL)isSecuritySessionOpen; - (BOOL)isSessionEstablished; - (void)listPairingsWithCompletionQueue:(id)a0 completionHandler:(id /* block */)a1; - (void)pairSetupStartSoftAuthWAC; - (BOOL)pingSupported; - (void)pollAccessory; - (void)processPendingBonjourRemoveEvents; - (id)readAndResetHAPMetrics:(BOOL)a0; - (void)readCharacteristicValues:(id)a0 timeout:(double)a1 completionQueue:(id)a2 completionHandler:(id /* block */)a3; - (void)removeActiveSession:(long long)a0; - (void)removePairing:(id)a0 completionQueue:(id)a1 completionHandler:(id /* block */)a2; - (BOOL)removePairingForCurrentControllerOnQueue:(id)a0 completion:(id /* block */)a1; - (void)requestResource:(id)a0 queue:(id)a1 completionHandler:(id /* block */)a2; - (void)resetPostSoftAuthWAC; - (void /* function */ *)savePairedPeerDelegateCallback; - (void)sendGETRequestToURL:(id)a0 timeout:(double)a1 completionHandler:(id /* block */)a2; - (void)sendPOSTRequestToURL:(id)a0 request:(id)a1 serializationType:(unsigned long long)a2 completionHandler:(id /* block */)a3; - (void)sendPUTRequestToURL:(id)a0 request:(id)a1 serializationType:(unsigned long long)a2 timeout:(double)a3 completionHandler:(id /* block */)a4; - (void)setSecuritySessionOpen:(BOOL)a0; - (void)startPairingWithRequest:(id)a0; - (void)startPing; - (void)startReprovisioningWithPairingRequest:(id)a0; - (BOOL)stopPairingWithError:(id *)a0; - (void)stopPing; - (BOOL)tryPairingPassword:(id)a0 onboardingSetupPayloadString:(id)a1 error:(id *)a2; - (void)updateActiveDisconnectOnIdleTimeout:(double)a0; - (void)updateWithHAPWACAccessory:(id)a0; - (void)validatePairingAuthMethod:(id /* block */)a0; - (void)writeCharacteristicValues:(id)a0 timeout:(double)a1 completionQueue:(id)a2 completionHandler:(id /* block */)a3; @end