@class HMDHAPAccessory, HMDAccessoryFirmwareUpdateManager, HMFTimer, HMDAccessoryFirmwareUpdateConcurrencyLogEventManager, UARPAssetID, NSString, UARPAccessory, NSObject, HMDAccessoryFirmwareUpdateScheduler, HMFSoftwareVersion; @protocol OS_dispatch_queue, HMDAccessoryFirmwareUpdateSessionWingman, HMDDataStreamSocket; @interface HMDAccessoryFirmwareUpdateSession : HMFObject <HMDDataStreamSocketDelegate, HMFTimerDelegate, UARPControllerDelegateProtocol, HMFLogging> { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock; } @property (readonly, weak) HMDAccessoryFirmwareUpdateManager *accessoryFirmwareUpdateManager; @property (readonly, weak) HMDAccessoryFirmwareUpdateConcurrencyLogEventManager *logEventManager; @property (readonly) id<HMDAccessoryFirmwareUpdateSessionWingman> wingman; @property (readonly) UARPAccessory *uarpAccessory; @property (retain) UARPAssetID *assetID; @property (readonly) NSObject<OS_dispatch_queue> *workQueue; @property (retain, nonatomic) id<HMDDataStreamSocket> dataStreamSocket; @property (nonatomic) BOOL dataStreamOpenInProgress; @property (nonatomic) unsigned long long internalState; @property (retain, nonatomic) HMDAccessoryFirmwareUpdateScheduler *updateScheduler; @property (retain, nonatomic) HMFTimer *allowedApplyDurationTimer; @property (retain, nonatomic) HMFTimer *expectedApplyDurationTimer; @property (retain, nonatomic) HMFTimer *queryFirmwareUpdateResultDurationTimer; @property (retain, nonatomic) HMFTimer *registerFailureRetryTimer; @property (nonatomic) BOOL remoteApplyInProgress; @property (retain, nonatomic) HMFTimer *socketIdleTimer; @property BOOL sessionEnded; @property BOOL assetOfferedForCurrentDataStream; @property (readonly, getter=isFirmwareVersionUpToDate) BOOL firmwareVersionUpToDate; @property (readonly, getter=isCurrentUpdateLatest) BOOL currentUpdateLatest; @property (readonly, getter=isCurrentlyStaging) BOOL currentlyStaging; @property (nonatomic) BOOL isVerifyingUpdate; @property (nonatomic) unsigned long long currentAutomaticApplyRetriesCount; @property (nonatomic) unsigned long long currentCommunicationErrorCount; @property (retain, nonatomic) HMFSoftwareVersion *lastStagedVersion; @property (readonly, nonatomic) HMFSoftwareVersion *accessoryVersion; @property (readonly, nonatomic) unsigned long long sessionState; @property (readonly, nonatomic, getter=isUserInitiatedStaging) BOOL userInitiatedStaging; @property (readonly, nonatomic, getter=isUserInitiatedInstall) BOOL userInitiatedInstall; @property (retain, nonatomic) NSString *documentationPath; @property (nonatomic) unsigned long long applyHDSRetryCount; @property (readonly, nonatomic) double expectedApplyDuration; @property (readonly, nonatomic) double allowedApplyDuration; @property (nonatomic) unsigned long long currentRegisterFailureCount; @property (copy) id /* block */ registerFailureRetryTimerFactory; @property (readonly, weak, nonatomic) HMDHAPAccessory *hapAccessory; @property (readonly, getter=isReadyForStaging) BOOL readyForStaging; @property (readonly, getter=isReadyToApplyUpdate) BOOL readyToApplyUpdate; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)logCategory; + (id)__calculateDigestDataFromFile:(id)a0 maxDataSize:(unsigned long long)a1 error:(id *)a2; - (void)configure; - (void)timerDidFire:(id)a0; - (void)pause; - (id)init; - (void)firmwareStagingProgress:(id)a0 assetID:(id)a1 bytesSent:(unsigned long long)a2 bytesTotal:(unsigned long long)a3; - (void)dealloc; - (id)privateDescription; - (void)socketDidClose:(id)a0; - (id)logIdentifier; - (void)_register; - (void).cxx_destruct; - (void)_endSession; - (void)assetAvailablityUpdateForAccessoryID:(id)a0 assetID:(id)a1; - (void)firmwareUpdateResult:(id)a0 vendorSpecificStatus:(unsigned int)a1 error:(id)a2; - (void)stagedFirmwareRescindComplete:(id)a0 withStatus:(unsigned long long)a1; - (void)firmwareStagingComplete:(id)a0 assetID:(id)a1 withStatus:(unsigned long long)a2; - (void)_schedule; - (BOOL)documentationAvailable; - (void)_automaticUpdateEnabledChanged:(BOOL)a0; - (void)_syncStateWithAccessoryOnResume; - (void)stagingComplete; - (BOOL)isStagedFirmwareVersionUpToDate; - (double)_allowedApplyDuration; - (void)_applyFailed; - (void)_applyFirmware; - (void)_cancelApplyTimer; - (void)_cancelQueryFirmwareUpdateResultTimer; - (void)_cancelRegisterFailureRetryTimer; - (void)_cancelSocketIdleTimer; - (void)_evaluateHDSRetryForApplyFirmware; - (double)_expectedApplyDuration; - (void)_handleApplyTimerFired; - (void)_handleAutomaticUpdateEnabledChanged:(id)a0; - (void)_handleQueryFirmwareUpdateResultTimeout; - (void)_handleRegisterFailureRetryTimeout; - (void)_handleSocketTimeout; - (void)_logApplyEventWithStatus:(long long)a0; - (void)_logDebugStates:(const char *)a0; - (void)_resetAvailableSoftwareUpdate; - (void)_resetSocketIdleTimer; - (void)_stagingFailed; - (void)_startSocketIdleTimer; - (void)_updateAvailableSoftwareUpdate; - (void)_updateAvailableSoftwareUpdateDocumentation; - (void)_updateAvailableSoftwareUpdateState:(long long)a0; - (void)_updateSoftwareUpdateNotReadyReasons; - (void)_updateSoftwareUpdateStateForMatterAccessoryWithState:(unsigned long long)a0; - (void)_verifyUpdateComplete; - (void)_withOpenSocketDoBlock:(id /* block */)a0 error:(id /* block */)a1; - (void)applyFirmware; - (void)handleAccessoryFirmwareVersionChangedNotification:(id)a0; - (void)handleAccessoryFirmwareVersionNumberChangedNotification:(id)a0; - (void)handleAccessoryVIDPIDChangedNotification:(id)a0; - (void)handleFirmwareUpdateStateChangedNotification:(id)a0; - (void)handleNotReadyReasonsChanged:(id)a0; - (void)handleStagedFirmwareVersionChangedNotification:(id)a0; - (id)initWithHAPAccessory:(id)a0 uarpAccessory:(id)a1 accessoryFirmwareUpdateManager:(id)a2 logEventManager:(id)a3; - (id)initWithHAPAccessory:(id)a0 uarpAccessory:(id)a1 accessoryFirmwareUpdateManager:(id)a2 logEventManager:(id)a3 wingman:(id)a4; - (BOOL)isCurrentlyApplying; - (void)logDebugStates; - (id)newDocumentationMetadata; - (id)newSoftwareUpdateWithState:(long long)a0; - (unsigned long long)nextStateToSchedule; - (void)registerAccessory; - (void)rescindStagedAsset:(id /* block */)a0; - (void)resumeWithState:(unsigned long long)a0; - (BOOL)sendMessageToAccessory:(id)a0 uarpMsg:(id)a1 error:(id *)a2; - (void)setUserInitiatedInstall:(BOOL)a0; - (void)setUserInitiatedStaging:(BOOL)a0; - (void)socket:(id)a0 didFailWithError:(id)a1; - (void)socketDidReceiveData:(id)a0; - (void)stageFirmware; - (void)startApplyDurationTimers; - (BOOL)startManualUpdate:(id)a0 error:(id *)a1; - (id)uarpAssetID; - (void)unregisterAccessory; - (void)updateAccessoryFirmwareVersion; - (void)updateAccessoryStagedFirmwareVersion; - (void)updateAccessoryVendorIDAndProductID; - (void)updateAvailableSoftwareUpdate; - (void)updateAvailableSoftwareUpdateState:(long long)a0; @end