luxlabs header browser preview


@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