@class NSDate, NSString, NSURL, NSArray, NSTimer, NSDictionary, EASession, iAUPServer, NSObject, NSMutableData, EAAccessory, NSNumber; @protocol OS_dispatch_queue; @interface EAFirmwareUpdater : MobileAssetUpdater { NSString *_multiassetAppProtocol; NSString *_deviceClass; NSDictionary *_deviceOptions; unsigned long long _firmwareVersionMajor; unsigned long long _firmwareVersionMinor; unsigned long long _firmwareVersionRelease; NSNumber *_cumulativeBytesDownloaded; NSNumber *_totalBytesForCompleteUpdate; NSNumber *_cumulativeCloakTime; NSNumber *_currentSessionCloakTime; NSDate *_updateStartTime; NSString *_firmwareBundleFilename; NSURL *_firmwareBundleURL; id /* block */ _progressHandler; id /* block */ _updateHandler; id /* block */ _personalizationRequestHandler; NSArray *_buildIdentities; NSArray *_manifestList; unsigned int _manifestIndex; NSMutableData *_outputData; struct _opaque_pthread_mutex_t { long long __sig; char __opaque[56]; } _flushOutputLock; iAUPServer *_iAUPServer; NSObject *_eaNotificationDispatchQueue; BOOL _firmwareUpdateComplete; BOOL _firmwareUpdateIsUrgent; int _isExpectingReconnect; NSTimer *_reconnectTimer; BOOL _byteEscape; BOOL _skipReconnect; BOOL _skipVersionCheck; } @property (retain, nonatomic) EAAccessory *accessory; @property (retain, nonatomic) NSString *protocolString; @property (nonatomic) BOOL overrideProtocol; @property (retain, nonatomic) EASession *session; @property (retain, nonatomic) NSString *bootloaderProtocol; @property (retain, nonatomic) NSString *appProtocol; @property (retain, nonatomic) NSString *multiAssetAppProtocol; @property (retain, nonatomic) NSString *firmwareBundleFilename; @property (retain, nonatomic) NSURL *firmwareBundleURL; @property (copy, nonatomic) id /* block */ applyCompletion; @property (nonatomic) BOOL forceSilentUpdate; @property (nonatomic) BOOL skipDFUMode; @property (nonatomic) BOOL isMultiAssetSession; @property (nonatomic) BOOL closeEASession; @property (nonatomic) BOOL excludeUniqueAccessoryCheck; @property (retain, nonatomic) NSString *currentFirmwareVersionOnAcc; @property (retain, nonatomic) NSString *firmwareVersionAvailable; @property (retain, nonatomic) NSString *transportType; @property (retain, nonatomic) NSNumber *resumedFromPercentNum; @property (retain, nonatomic) NSNumber *resumeCount; @property (retain, nonatomic) NSNumber *cumulativeProgressPercent; @property (retain, nonatomic) NSNumber *cumulativeTimeTaken; @property (retain, nonatomic) NSNumber *cumulativeCloak; @property (retain, nonatomic) NSNumber *currentSessionTimeTaken; @property (copy, nonatomic) NSDictionary *manifestIDs; @property (retain, nonatomic) NSString *serialNumber; @property (retain, nonatomic) NSString *modelNumber; @property (retain, nonatomic) NSString *name; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)appProtocolStringWithEAID:(id)a0; + (id)bootloaderProtocolStringWithEAID:(id)a0; + (id)findAccessoryWithProtocolString:(id)a0 serialNum:(id)a1; + (id)getEAFirmwareRevisionActive:(id)a0 forProtocol:(id)a1; + (id)getEAFirmwareRevisionPending:(id)a0 forProtocol:(id)a1; + (id)multiAssetAppProtocolStringWithEAID:(id)a0; - (void)dealloc; - (void)stream:(id)a0 handleEvent:(unsigned long long)a1; - (id)writeData:(id)a0; - (void)_accessoryDidDisconnect:(id)a0; - (void)_accessoryDidConnect:(id)a0; - (void)closeSession; - (void)updateProgress:(double)a0; - (id)openSession; - (id)queryPredicate; - (BOOL)isDeploymentAllowed:(id)a0; - (BOOL)isUrgentUpdate; - (id)assetWithMaxVersion:(id)a0; - (id)validateAsset; - (id)validateAssetAttributes:(id)a0; - (void)handleInputData; - (id)applyFirmware:(id /* block */)a0 progress:(id /* block */)a1 update:(id /* block */)a2 personalization:(id /* block */)a3; - (id)createEndOfUpdateEventDict:(id)a0 error:(id)a1; - (BOOL)findAccessory; - (void)firmwareUpdateComplete:(id)a0 error:(id)a1; - (id)flushOutput; - (id)getDeviceClassName; - (unsigned char)getPersonalizationID; - (unsigned int)getWhitelistedPersonalizationFields; - (void)handleFirmwareUpdateStatus:(id)a0; - (void)handleSessionError:(unsigned int)a0 message:(id)a1; - (id)initWithDeviceClass:(id)a0 assetType:(id)a1 skipDFU:(BOOL)a2 byteEscape:(BOOL)a3 skipReconnect:(BOOL)a4 skipVersionCheck:(BOOL)a5 options:(id)a6 serialNum:(id)a7; - (BOOL)isRestartRequired; - (BOOL)isSleepWakeRequired; - (void)logStatusString:(id)a0; - (void)personalizationResponse:(id)a0 error:(id)a1; - (void)processPersonalizationInfoFromAccessory:(id)a0; - (void)reconnectTimerDidFire:(id)a0; - (void)setFirmwareBundle:(id)a0; - (void)setFirmwareLocalURL:(id)a0; - (void)setFirmwareURL:(id)a0 withManifest:(id)a1 signature:(id)a2 certificate:(id)a3 hash:(id)a4; - (void)startReconnectTimer:(int)a0; - (BOOL)stitchManifestInSuperBinary:(id)a0 withManifest:(id)a1 withId:(unsigned int)a2; - (void)stopReconnectTimer; - (id)supportedProtocolForAccessory:(id)a0; - (void)updateComplete:(id)a0 error:(id)a1; - (BOOL)updateRequiresPersonalization; - (BOOL)updateRequiresSuperBinary; @end