luxlabs header browser preview


@class NSError, PLPhotoLibraryPathManager, PLManagedObjectContextDelegate, NSMutableDictionary, PLChangeHandlingContainer, NSMutableSet, PLDelayedFiledSystemDeletions, PLPhotoLibrary, PLDelayedSaveActions;
@protocol PLManagedObjectContextPTPNotificationDelegate;

@interface PLManagedObjectContext : NSManagedObjectContext {
    BOOL _isConnectedToChangeHandling;
    BOOL _isObservingChangesForPTPNotificationDelegate;
    BOOL _needsBackgroundJobProcessing;
    PLManagedObjectContextDelegate *_photosDelegate;
    NSMutableSet *_avalancheUUIDsForUpdate;
    NSMutableDictionary *_uuidsForCloudDeletion;
    BOOL _syncChangeMarker;
    NSMutableDictionary *_updatedObjectsAttributes;
    NSMutableDictionary *_updatedObjectsRelationships;
    PLPhotoLibrary *_photoLibrary;
    PLPhotoLibraryPathManager *_pathManager;
    PLDelayedSaveActions *_delayedSaveActions;
    PLChangeHandlingContainer *_changeHandlingContainer;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _invalidationStateLock;
    NSError *_invalidationReason;
    double _lastResetTimestamp;
    BOOL _initFinished;
}

@property (readonly, nonatomic) BOOL mergingChanges;
@property (readonly, nonatomic) BOOL savingDuringMerge;
@property (nonatomic) BOOL isInitializingSingletons;
@property (retain, nonatomic) PLDelayedFiledSystemDeletions *delayedDeletions;
@property (weak, nonatomic) id<PLManagedObjectContextPTPNotificationDelegate> ptpNotificationDelegate;
@property (nonatomic) BOOL isBackingALAssetsLibrary;
@property (readonly, nonatomic) PLDelayedSaveActions *delayedSaveActions;
@property (nonatomic) long long resetCloudLibraryMode;
@property (nonatomic, getter=isLocalOnlyDelete) BOOL localOnlyDelete;
@property (weak, nonatomic) PLPhotoLibrary *photoLibrary;
@property (readonly, nonatomic) BOOL isUserInterfaceContext;
@property (nonatomic) BOOL regenerateVideoThumbnails;
@property (nonatomic) int changeSource;
@property (nonatomic) BOOL nonCoalescing;

+ (id)managedObjectModel;
+ (id)changeNotificationObjectMutationKeys;
+ (id)_relationshipNamesByIndexByEntityNames;
+ (void)_pl_megamoc_contextPerformDepthPop;
+ (id)_attributeNamesByIndexByEntityNames;
+ (id)sanitizedErrorFromError:(id)a0;
+ (unsigned long long)indexValueForAttributeNames:(id)a0 entity:(id)a1;
+ (void)recordChangedProperties:(id)a0 forObjectID:(id)a1 inAttributesByOID:(id)a2 relationshipsByOID:(id)a3;
+ (id)__processSubEntityByName:(id)a0 entity:(id)a1 withEntityData:(id)a2;
+ (id)contextForRepairingSingletonObjects:(const char *)a0 libraryURL:(id)a1 error:(id *)a2;
+ (BOOL)_isAssetLibraryFetchingAlbum:(id)a0;
+ (unsigned long long)_indexValueForPropertyNames:(id)a0 entityName:(id)a1 indexesByPropertyNamesByEntityNames:(id)a2;
+ (void)__prepareEntityPropertyLookups;
+ (void)_pl_megamoc_contextPerformDepthPush;
+ (id)attributeNamesForIndexValues:(unsigned long long)a0 entity:(id)a1;
+ (BOOL)_pl_megamoc_isInPLMocPerform;
+ (id)relationshipNamesForIndexValues:(unsigned long long)a0 entity:(id)a1;
+ (BOOL)canMergeRemoteChanges;
+ (id)changeNotificationObjectIDKeys;
+ (void)recordChangedKeys:(id)a0 forObjectID:(id)a1 inAttributesByOID:(id)a2 relationshipsByOID:(id)a3;
+ (id)_indexesByRelationshipNamesByEntityNames;
+ (id)changeNotificationObjectIDMutationKeys;
+ (id)_toManyRelationshipNamesByEntityNames;
+ (id)managedObjectModelURL;
+ (BOOL)includesToManyRelationship:(id)a0 entity:(id)a1;
+ (void)_pl_megamoc_runWithPerformWarningsSuppressed:(id /* block */)a0;
+ (BOOL)assetsLibraryLoggingEnabled;
+ (id)changeNotificationObjectKeys;
+ (id)contextForUninitializedPhotoLibrary:(id)a0 automaticallyMerges:(BOOL)a1 automaticallyPinToFirstFetch:(BOOL)a2 name:(const char *)a3;
+ (unsigned long long)indexValueForRelationshipNames:(id)a0 entity:(id)a1;
+ (id)_indexesByAttributeNamesByEntityNames;
+ (void)removePhotosDatabaseWithPathManager:(id)a0;
+ (BOOL)shouldHavePhotoLibrary;
+ (void)getPersistentStoreURL:(id *)a0 options:(id *)a1 forDatabasePath:(id)a2;
+ (id)_propertyNamesForIndexValues:(unsigned long long)a0 entity:(id)a1 propertyNamesByIndexByEntityNames:(id)a2;
+ (id)__processEntityByName:(id)a0 obj:(id)a1;

- (id)pathManager;
- (BOOL)save:(id *)a0;
- (void)refreshAllObjects;
- (BOOL)isReadOnly;
- (BOOL)obtainPermanentIDsForObjects:(id)a0 error:(id *)a1;
- (void)_informPTPDelegateAboutChangesFromRemoteContextSaveNotification:(id)a0;
- (id)libraryBundle;
- (void)reset;
- (void)dealloc;
- (id)pl_fetchObjectsWithIDs:(id)a0;
- (BOOL)isDatabaseCreationContext;
- (void)registerFilesystemDeletionInfo:(id)a0;
- (void)setupDelegateWithBundle:(id)a0;
- (BOOL)hasPreviouslyMergedDeleteForObject:(id)a0;
- (void)setupLocalChangeNotifications;
- (id)getAndClearRecordedObjectsForCloudDeletion;
- (id)existingObjectWithID:(id)a0 error:(id *)a1;
- (void)performBlockAndWait:(id /* block */)a0;
- (void)setName:(id)a0;
- (double)lastResetTimestamp;
- (void)recordCloudDeletionForObject:(id)a0;
- (void)recordChangesFromTriggerModifiedObjectIDs:(id)a0;
- (void)disconnectFromChangeHandling;
- (BOOL)isValidForSelector:(SEL)a0 error:(id *)a1;
- (void)_directPerformBlockAndWait:(id /* block */)a0;
- (BOOL)_tooManyAssetChangesToHandle:(unsigned long long)a0;
- (void)_recordChangedKeys:(id)a0 forObjectID:(id)a1;
- (void)tearDownLocalChangeNotifications;
- (BOOL)_adjustmentTimestampChangedChangedAttribute:(id)a0 from:(id)a1;
- (void)recordManagedObjectWillSave:(id)a0;
- (void)recordNeedsBackgroundJobProcessing;
- (void)_mergeChangesFromDidSaveDictionary:(id)a0 usingObjectIDs:(BOOL)a1;
- (void)withDispatchGroup:(id)a0 performBlock:(id /* block */)a1;
- (void)appendDelayedDeletionsToXPCMessage:(id)a0;
- (void)resetAllFetchingAlbums;
- (void)_createDelayedSaveActionsWithTransaction:(id)a0;
- (void)invalidateWithReason:(id)a0;
- (id)storeUUID;
- (BOOL)shouldMergeFromRemoteContextWithChanges:(id)a0;
- (void).cxx_destruct;
- (id)initWithConcurrencyType:(unsigned long long)a0 libraryBundle:(id)a1 changeHandlingContainer:(id)a2 coordinator:(id)a3;
- (id)_pl_executeFetchRequest:(id)a0 error:(id *)a1;
- (void)recordAvalancheUUIDForUpdate:(id)a0;
- (void)_addCloudUUID:(id)a0 forDeletionType:(long long)a1;
- (void)_destroyDelayedSaveActions;
- (void)getAndClearUpdatedObjectsAttributes:(id *)a0 relationships:(id *)a1;
- (void)connectToChangeHandling;
- (id)executeFetchRequest:(id)a0 error:(id *)a1;
- (void)_notifyALAssetsLibraryWithChanges:(id)a0 usingObjectIDs:(BOOL)a1;
- (id)executeRequest:(id)a0 error:(id *)a1;
- (BOOL)pl_performWithOptions:(unsigned long long)a0 andBlock:(id /* block */)a1;
- (id)getAndClearRecordedAvalancheUUIDsForUpdate;
- (void)_getInsertedIDs:(id)a0 deletedIDs:(id)a1 changedIDs:(id)a2 adjustedIDs:(id)a3 ofEntityKind:(id)a4 fromRemoteContextDidSaveObjectIDsNotification:(id)a5;
- (void)_directPerformBlock:(id /* block */)a0;
- (id)initWithConcurrencyType:(unsigned long long)a0 libraryBundle:(id)a1;
- (BOOL)getAndClearSyncChangeMarker;
- (void)updateTransactionAuthor;
- (void)performBlock:(id /* block */)a0;
- (void)recordSyncChangeMarker;
- (unsigned long long)countForFetchRequest:(id)a0 error:(id *)a1;
- (id)pl_fetchObjectsWithIDs:(id)a0 rootEntity:(id)a1;

@end