luxlabs header browser preview


@class NSURL, NSMapTable, TSPObjectContext, TSPPackageMetadata, TSPPersistedObjectUUIDMap, TSPFinalizeHandlerQueue, TSPDocumentLoadValidationPolicy, NSObject, NSString, TSPPackage, NSSet, TSPObjectContainer, TSPObject, NSMutableSet, NSArray, TSPDocumentRevision, NSUUID;
@protocol OS_dispatch_group, OS_dispatch_queue;

@interface TSPPackageReadCoordinator : TSPReadCoordinatorBase <TSPPersistedObjectUUIDMapDelegate, TSPReadCoordinator> {
    TSPObjectContext *_context;
    NSUUID *_documentUUID;
    TSPObject *_documentObject;
    TSPPackage *_package;
    NSURL *_packageURL;
    TSPFinalizeHandlerQueue *_finalizeHandlerQueue;
    BOOL _areExternalDataReferencesAllowed;
    BOOL _skipDocumentUpgrade;
    unsigned long long _readVersion;
    TSPPackageMetadata *_cachedMetadata;
    TSPPersistedObjectUUIDMap *_persistedUUIDMap;
    struct vector<std::unique_ptr<TSP::PersistedObjectUUIDMapOperation>, std::allocator<std::unique_ptr<TSP::PersistedObjectUUIDMapOperation>>> { void *__begin_; void *__end_; struct __compressed_pair<std::unique_ptr<TSP::PersistedObjectUUIDMapOperation> *, std::allocator<std::unique_ptr<TSP::PersistedObjectUUIDMapOperation>>> { void *__value_; } __end_cap_; } _persistedUUIDMapOperations;
    NSMutableSet *_duplicatedUUIDs;
    NSMutableSet *_componentIdentifiersWithDuplicatedUUIDs;
    NSObject<OS_dispatch_group> *_completionGroup;
    NSObject<OS_dispatch_queue> *_ioQueue;
    NSObject<OS_dispatch_queue> *_ioCompletionQueue;
    NSObject<OS_dispatch_queue> *_readCompletionQueue;
    NSObject<OS_dispatch_queue> *_componentQueue;
    struct IdentifierMap<bool> { struct __hash_table<std::__hash_value_type<const long long, bool>, std::__unordered_map_hasher<const long long, std::__hash_value_type<const long long, bool>, std::hash<long long>, std::equal_to<const long long>>, std::__unordered_map_equal<const long long, std::__hash_value_type<const long long, bool>, std::equal_to<const long long>, std::hash<long long>>, std::allocator<std::__hash_value_type<const long long, bool>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<const long long, bool>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<const long long, std::__hash_value_type<const long long, bool>, std::hash<long long>, std::equal_to<const long long>>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::__unordered_map_equal<const long long, std::__hash_value_type<const long long, bool>, std::equal_to<const long long>, std::hash<long long>>> { float __value_; } __p3_; } __table_; } _readIdentifiers;
    NSArray *_componentsToUpgrade;
    _Atomic long long _upgradeMode;
    NSObject<OS_dispatch_queue> *_objectQueue;
    NSMapTable *_objects;
    struct IdentifierMap<bool> { struct __hash_table<std::__hash_value_type<const long long, bool>, std::__unordered_map_hasher<const long long, std::__hash_value_type<const long long, bool>, std::hash<long long>, std::equal_to<const long long>>, std::__unordered_map_equal<const long long, std::__hash_value_type<const long long, bool>, std::equal_to<const long long>, std::hash<long long>>, std::allocator<std::__hash_value_type<const long long, bool>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<const long long, bool>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<const long long, bool>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<const long long, std::__hash_value_type<const long long, bool>, std::hash<long long>, std::equal_to<const long long>>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::__unordered_map_equal<const long long, std::__hash_value_type<const long long, bool>, std::equal_to<const long long>, std::hash<long long>>> { float __value_; } __p3_; } __table_; } _readExternalObjects;
}

@property (readonly, nonatomic) BOOL losesDataOnWrite;
@property (readonly, nonatomic) NSSet *featureIdentifiers;
@property (readonly, nonatomic) NSSet *unsupportedFeatureIdentifiers;
@property (readonly, nonatomic) TSPDocumentRevision *documentRevision;
@property (readonly, nonatomic) unsigned long long saveToken;
@property (readonly, nonatomic) long long preferredPackageType;
@property (readonly, nonatomic) TSPObjectContainer *objectContainer;
@property (readonly, nonatomic) TSPObject *metadataObject;
@property (readonly, nonatomic) BOOL didRequireUpgrade;
@property (readonly, nonatomic) BOOL isReadingFromDocument;
@property (readonly, nonatomic) TSPDocumentLoadValidationPolicy *documentLoadValidationPolicy;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (unsigned int)sourceType;
- (id)init;
- (void)dealloc;
- (void)tearDown;
- (id)context;
- (id).cxx_construct;
- (void).cxx_destruct;
- (unsigned char)packageIdentifier;
- (unsigned long long)readVersion;
- (unsigned long long)fileFormatVersion;
- (void)didUpdateLazyReferenceDelegate:(id)a0;
- (id)externalObjectForIdentifier:(long long)a0 componentIdentifier:(long long)a1 isReadFinished:(BOOL)a2;
- (id)baseObjectUUID;
- (void)didReadObjects:(id)a0 forComponent:(id)a1 packageIdentifier:(unsigned char)a2;
- (void)didReferenceExternalObject:(id)a0 withIdentifier:(long long)a1;
- (BOOL)endReading;
- (unsigned long long)fileFormatVersionFromMetadataMessage:(const void *)a0;
- (BOOL)hasDocumentVersionUUID;
- (id)initWithContext:(id)a0 package:(id)a1 packageURL:(id)a2 finalizeHandlerQueue:(id)a3 areExternalDataReferencesAllowed:(BOOL)a4 skipDocumentUpgrade:(BOOL)a5 documentLoadValidationPolicy:(id)a6;
- (long long)metadataObjectIdentifier;
- (id)newObjectUUIDForObjectIdentifier:(long long)a0;
- (id)p_allComponentsInPackage;
- (id)p_allDataInPackage;
- (void)p_readComponent:(id)a0 additionalComponents:(id)a1 upgradeMode:(long long)a2 completionQueue:(id)a3 completion:(id /* block */)a4;
- (void)p_readComponent:(id)a0 completionQueue:(id)a1 completion:(id /* block */)a2;
- (BOOL)p_validateComponent:(id)a0 error:(id *)a1;
- (BOOL)p_validateData:(id)a0 timing:(long long)a1 documentMetadata:(id)a2 scanForOSLikeCorruption:(BOOL)a3 error:(id *)a4;
- (void)persistedObjectUUIDMap:(id)a0 foundDuplicateUUID:(id)a1 firstObjectLocation:(struct TSPObjectLocation { long long x0; long long x1; })a2 secondObjectLocation:(struct TSPObjectLocation { long long x0; long long x1; })a3;
- (id)persistedObjectUUIDMap:(id)a0 needsDescriptionForComponentIdentifier:(long long)a1 objectIdentifier:(long long)a2;
- (void)postprocessMetadata:(id)a0;
- (void)prepareForDocumentUpgradeWithMode:(long long)a0;
- (void)prepareForDocumentUpgradeWithModeImpl:(long long)a0;
- (void)prepareToReadComponentWithIdentifier:(long long)a0 forObjectIdentifier:(long long)a1 isWeakReference:(BOOL)a2 queue:(id)a3 completion:(id /* block */)a4;
- (void)preprocessMetadata:(id)a0;
- (void)readComponent:(id)a0 completionQueue:(id)a1 completion:(id /* block */)a2;
- (void)readComponentAsync:(id)a0;
- (BOOL)readComponentIfNeededAsync:(id)a0;
- (void)readExternalReferenceComponentIfNeededAsyncForObjectIdentifier:(long long)a0 componentIdentifier:(long long)a1 isWeak:(BOOL)a2 fromComponent:(id)a3;
- (void)readPackageMetadataWithComponent:(id)a0 completionQueue:(id)a1 completion:(id /* block */)a2;
- (id)readPackageMetadataWithError:(id *)a0;
- (void)readRootObjectWithCompletionQueue:(id)a0 completion:(id /* block */)a1;
- (void)reader:(id)a0 didFindExternalReferenceToObjectIdentifier:(long long)a1 componentIdentifier:(long long)a2 isWeak:(BOOL)a3 allowUnknownObject:(BOOL)a4 objectClass:(Class)a5 objectProtocol:(id)a6 fromParentObject:(id)a7 completion:(id /* block */)a8;
- (void)reader:(id)a0 didFindExternalRepeatedReference:(id)a1 isWeak:(BOOL)a2 allowUnknownObject:(BOOL)a3 objectClass:(Class)a4 objectProtocol:(id)a5 fromParentObject:(id)a6 completion:(id /* block */)a7;
- (void)reader:(id)a0 didResetObjectIdentifierForObject:(id)a1 originalObjectIdentifier:(long long)a2;
- (void)reader:(id)a0 didResetObjectUUID:(id)a1 forObjectIdentifier:(long long)a2 originalObjectUUID:(id)a3;
- (id)reader:(id)a0 wantsDataForIdentifier:(long long)a1;
- (long long)reader:(id)a0 wantsObjectIdentifierForUUID:(id)a1;
- (id)unarchivedObjectForIdentifier:(long long)a0 isReadFinished:(BOOL)a1;
- (void)updateObjectContextForSuccessfulRead;
- (void)validateDocumentWithOptions:(unsigned long long)a0 timing:(long long)a1 completion:(id /* block */)a2;

@end