luxlabs header browser preview


@class NSMutableIndexSet, NSIndexSet, SFUCryptoKey, NSURL, NSDate, NSObject, TSPTemporaryDataStorage;
@protocol OS_dispatch_queue, TSPRemoteDataStorageDelegate, TSPDataStorage;

@interface TSPRemoteDataStorage : TSPFileDataStorage <TSPDataStorageDownloadable> {
    SFUCryptoKey *_encryptionKey;
    NSObject<OS_dispatch_queue> *_accessQueue;
    TSPTemporaryDataStorage *_temporaryMaterializedDataStorage;
    unsigned long long _changeCount;
    NSMutableIndexSet *_unmaterializedRanges;
    id<TSPDataStorage> _packageDataStorage;
    long long _uploadStatus;
    NSDate *_modificationDate;
    BOOL _canDownload;
    _Atomic BOOL _isUnmaterializedDueToPartiallyDownloadedDocument;
    _Atomic unsigned long long _materializedLength;
}

@property (weak, nonatomic) id<TSPRemoteDataStorageDelegate> delegate;
@property (readonly, nonatomic) NSURL *remoteURL;
@property (readonly, nonatomic) BOOL isMaterialized;
@property (readonly, nonatomic) NSIndexSet *unmaterializedRanges;
@property (readonly, nonatomic) unsigned long long firstUnmaterializedIndex;
@property (readonly, nonatomic) long long downloadPriority;
@property (nonatomic) long long uploadStatus;
@property (readonly, nonatomic) NSDate *modificationDate;
@property (readonly, nonatomic) id<TSPDataStorage> packageDataStorage;

+ (id)notificationQueue;
+ (id)ioQueue;

- (BOOL)isReadable;
- (unsigned long long)length;
- (void).cxx_destruct;
- (BOOL)canDownload;
- (unsigned char)packageIdentifier;
- (unsigned long long)encodedLength;
- (BOOL)needsDownload;
- (id)packageLocator;
- (void)performIOChannelReadWithAccessor:(id /* block */)a0;
- (void)performReadWithAccessor:(id /* block */)a0;
- (unsigned long long)fileFormatVersion;
- (void)didReceiveRemoteDataWithDecryptionInfo:(id)a0 noEncryptionHandler:(id /* block */)a1 createReadChannelForCryptoTranscodeBlock:(id /* block */)a2 completionQueue:(id)a3 completion:(id /* block */)a4;
- (BOOL)isLengthPrecise;
- (void)didAddDownloadObserverWithData:(id)a0;
- (void)didReceiveRemoteData:(id)a0 decryptionInfo:(id)a1 completionQueue:(id)a2 completion:(id /* block */)a3;
- (void)didReceiveRemoteDataWithReadChannel:(id)a0 completionQueue:(id)a1 completion:(id /* block */)a2;
- (id)dataStorageToUse;
- (id)decryptionInfo;
- (void)didInitializeFromDocumentURL:(id)a0;
- (void)didReceivePartialRemoteData:(id)a0 decryptionKey:(id)a1 range:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a2 completionQueue:(id)a3 completion:(id /* block */)a4;
- (void)didReceiveRemoteDataAtURL:(id)a0 canMove:(BOOL)a1 decryptionInfo:(id)a2 completionQueue:(id)a3 completion:(id /* block */)a4;
- (void)didSaveWithChangeCount:(unsigned long long)a0 packageDataStorage:(id)a1;
- (id)initWithRemoteURL:(id)a0 length:(unsigned long long)a1 encryptionKey:(id)a2 canDownload:(BOOL)a3 downloadPriority:(long long)a4 uploadStatus:(long long)a5 modificationDate:(id)a6;
- (id)initWithRemoteURL:(id)a0 unmaterializedRanges:(id)a1 encryptionKey:(id)a2 canDownload:(BOOL)a3 downloadPriority:(long long)a4 uploadStatus:(long long)a5 modificationDate:(id)a6 materializedLength:(unsigned long long)a7 packageDataStorage:(id)a8;
- (BOOL)isPartialDataInPackage:(id)a0;
- (BOOL)isUnmaterializedDueToPartiallyDownloadedDocument;
- (BOOL)linkOrCopyToURL:(id)a0 encryptionInfo:(id)a1 canLink:(BOOL)a2;
- (BOOL)materializeFromPartiallyDownloadedDocumentForData:(id)a0 withContentsOfURL:(id)a1 canMove:(BOOL)a2 error:(id *)a3;
- (unsigned long long)materializedLength;
- (BOOL)migrateToTemporaryDataStorageIfNeeded;
- (BOOL)p_copyPartiallyMaterializedDataToURL:(id)a0 encryptionInfo:(id)a1;
- (BOOL)p_isMaterialized;
- (unsigned long long)p_materializedLength;
- (id)p_migrateToTemporaryDataStorageWithEncryptionInfo:(id)a0 updateInternalDataStorages:(BOOL)a1;
- (void)p_notifyDownloadObserversWithStatus:(long long)a0 error:(id)a1;
- (unsigned long long)reservedLength;
- (void)setIsUnmaterializedDueToPartiallyDownloadedDocument:(BOOL)a0;
- (id)writeData:(id)a0 toPackageWriter:(id)a1 infoMessage:(void *)a2 preferredFilename:(id)a3 shouldRemoveData:(BOOL)a4 error:(id *)a5;

@end