luxlabs header browser preview


@class PLLibraryScopeChangeTracker, PLCloudPhotoLibraryUserSwitchHandler, PLCloudBatchUploader, PLCloudBatchDownloader, PLForegroundMonitor, NSMutableArray, NSString, PLLazyObject, PFCoalescer, PLCloudTaskManager, PLCloudPhotoLibraryUploadTracker, CPLConfiguration, NSObject, PLBackgroundJobWorkerCoordinator, PLCloudPersistentHistoryChangeTracker, CPLStatus, PLLibraryServicesManager, PLCloudInMemoryTaskManager, CPLLibraryManager, PLPhotoLibraryPathManager, NSNumber;
@protocol OS_dispatch_queue, OS_dispatch_source;

@interface PLCloudPhotoLibraryManager : NSObject <PLCloudPersistentHistoryChangeTrackerDelegate, PLCloudPersistentHistoryMigratorContext, PLBackgroundJobWorkerCoordinatorDelegate, CPLResourceProgressDelegate, CPLLibraryManagerDelegate, PLForegroundMonitorDelegate, PLCloudUserSessionHandling> {
    PLCloudBatchUploader *_uploader;
    PLCloudBatchDownloader *_downloader;
    PLCloudPersistentHistoryChangeTracker *_syncChangeTracker;
    PLLibraryScopeChangeTracker *_rulesChangeTracker;
    BOOL _wasRebuild;
    BOOL _hasAttemptedMigration;
    NSObject<OS_dispatch_queue> *_isolationQueue;
    PLForegroundMonitor *_foregroundMonitor;
    unsigned long long _state;
    BOOL _checkEnableStateOnIdle;
    BOOL _icplEnabled;
    BOOL _pushOnIdle;
    BOOL _pullOnIdle;
    BOOL _stateChangePending;
    BOOL _hasSettledInitialBatch;
    long long _libraryMode;
    CPLLibraryManager *_unsafe_cplLibrary;
    CPLStatus *_unsafe_cplStatus;
    CPLConfiguration *_cplConfiguration;
    int _pauseRequest;
    short _pauseReason;
    PLCloudTaskManager *_taskManager;
    PLLazyObject *_lazyResourceManager;
    PLLazyObject *_lazyRecoveryManager;
    NSObject<OS_dispatch_source> *_unpauseDispatchTimer;
    NSObject<OS_dispatch_source> *_userUnpauseDispatchTimer;
    long long _pendingResetSyncType;
    BOOL _initializedMaster;
    PFCoalescer *_uploadDownloadCountCoalescer;
    NSObject<OS_dispatch_queue> *_uploadDownloadCountQueue;
    unsigned long long _boundForUploadingPhotos;
    unsigned long long _boundForUploadingVideos;
    unsigned long long _boundForUploadingOtherItems;
    NSObject<OS_dispatch_source> *_workInProgressTimer;
    BOOL _significantWork;
    PLCloudInMemoryTaskManager *_inMemoryTaskManager;
    PLCloudPhotoLibraryUploadTracker *_uploadTracker;
    NSObject<OS_dispatch_queue> *_serialQueue;
    PLCloudPhotoLibraryUserSwitchHandler *_switchHandler;
    PLLazyObject *_lazyCacheDeleteSupport;
    NSMutableArray *_pushAllChangesCompletionHandlers;
    PLBackgroundJobWorkerCoordinator *_backgroundJobWorkerCoordinator;
    BOOL _pushingAllChanges;
    BOOL _didCallBlocksWaitingForLibraryOpen;
    NSMutableArray *_blocksWaitingForLibraryOpen;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _waitForLibraryOpenLock;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _cplLibraryLock;
    BOOL _isHandlingStatusChangesNotification;
    unsigned long long _statusChangesNotificationGeneration;
    BOOL _unsafe_readyForAnalysis;
    BOOL _opportunisticTasksWasDisabled;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _numbersOfItemsLock;
    NSNumber *_numberOfPhotosToPush;
    NSNumber *_numberOfVideosToPush;
    NSNumber *_numberOfOtherItemsToPush;
    NSNumber *_numberOfPhotosDownloaded;
    NSNumber *_numberOfVideosDownloaded;
    NSNumber *_numberOfOtherItemsDownloaded;
    NSObject<OS_dispatch_queue> *_libraryScopeSynchronizationQueue;
    long long _pendingDeviceLibraryConfiguration;
    NSMutableArray *_deviceLibraryConfigurationChangeCompletionHandlers;
    NSString *_scopeIdentifierToUnsharePendingAssetsFrom;
    BOOL _hasInitialSyncDate;
}

@property (readonly, nonatomic) PLPhotoLibraryPathManager *pathManager;
@property (readonly, weak, nonatomic) PLLibraryServicesManager *libraryServicesManager;
@property (copy, nonatomic, setter=_setIdleStateTransitionOneTimeAction:) id /* block */ _idleStateTransitionOneTimeAction;
@property (readonly, nonatomic, getter=isCloudPhotoLibraryEnabled) BOOL cloudPhotoLibraryEnabled;
@property long long deviceLibraryConfiguration;
@property (readonly, nonatomic) unsigned long long totalNumberOfUnpushedMasters;
@property (readonly, nonatomic) unsigned long long totalNumberOfUploadedMasters;
@property (readonly, nonatomic) unsigned long long totalNumberOfDeferredAssets;
@property (readonly, nonatomic) unsigned long long totalSizeOfUnpushedOriginals;
@property (readonly, nonatomic) unsigned long long totalUploadedOriginalSize;
@property (readonly, nonatomic) long long currentResetSyncType;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (BOOL)needResetSyncErrorType:(id)a0;
+ (id)descriptionForResourceType:(unsigned long long)a0;

- (id)initWithLibraryServicesManager:(id)a0;
- (BOOL)isReadyForAnalysis;
- (void)reportMiscInformation:(id)a0;
- (void)_checkForWorkInProgress;
- (void)_openCPLLibrary;
- (void)invalidateRecoveryManager;
- (void)sync;
- (id)_fetchEventsFromCloudChangeTrackerInLibrary:(id)a0;
- (void)_runSyncOnIsolationQueueWithBlock:(id /* block */)a0;
- (void)libraryManager:(id)a0 uploadDidFinishForResourceTransferTask:(id)a1 withError:(id)a2;
- (void)sharedLibraryRampCheckWithCompletionHandler:(id /* block */)a0;
- (void)setCPLLibrary:(id)a0;
- (BOOL)overrideSystemBudgetsForSyncSession:(BOOL)a0 pauseReason:(id)a1 forSystemBudgets:(unsigned long long)a2;
- (void)_initResourceManager;
- (void)setMigratedLocalVersion:(id)a0;
- (id)cplLibrary;
- (void)markPurgeableResourcesMatchingPredicate:(id)a0 urgency:(long long)a1 inLibrary:(id)a2 completionHandler:(id /* block */)a3;
- (void)downloadResource:(id)a0 options:(id)a1 clientBundleID:(id)a2 proposedTaskIdentifier:(id)a3 taskDidBeginHandler:(id /* block */)a4 progressBlock:(id /* block */)a5 completionHandler:(id /* block */)a6;
- (void)getCurrentTransferProgressWithBlock:(id /* block */)a0;
- (id)resourceManager;
- (void)fetchAdjustmentDataForAsset:(id)a0 completionHandler:(id /* block */)a1;
- (void)dealloc;
- (void)saveRulesTrackerTokenObject:(id)a0;
- (void)_promptForCameraCaptureSettingChangeWithReason:(int)a0;
- (void)_checkAndMarkPurgeableResourcesIfSafe:(id)a0 checkServerIfNecessary:(BOOL)a1 urgency:(long long)a2 completionHandler:(id /* block */)a3;
- (void)requestDeviceLibraryConfigurationChange:(long long)a0 completionHandler:(id /* block */)a1;
- (unsigned long long)_inq_numberOfOtherItemsToDownloadInLibrary:(id)a0;
- (unsigned long long)_inq_numberOfVideosToDownloadInLibrary:(id)a0;
- (void)sendBudgetOverrideAnalytics:(BOOL)a0 pauseReason:(id)a1;
- (void)invalidateCacheDeleteSupport;
- (void)setPause:(BOOL)a0 reason:(short)a1;
- (void)acceptCPLShare:(id)a0 completionHandler:(id /* block */)a1;
- (void)_createDeletionRecordsIfNecessary;
- (void)_processUploadBatchWithStartupFailureCount:(unsigned long long)a0 inLibrary:(id)a1;
- (void)cplConfigurationWithCompletionHandler:(id /* block */)a0;
- (void)statusDidChange:(id)a0;
- (void)forceSyncMomentSharesWithScopeIdentifiers:(id)a0;
- (void)_unshareBatchOfPendingAssetsSharedToScopeWithTransaction:(id)a0;
- (void)_finishedUnsharingPendingAssetsSharedToScopeWithTransaction:(id)a0 error:(id)a1;
- (void)foregroundMonitor:(id)a0 changedStateToForeground:(BOOL)a1 forBundleIdentifier:(id)a2;
- (void)_processUploadBatchInLibrary:(id)a0;
- (void)_updateWithCPLResource:(id)a0 isHighPriority:(BOOL)a1 inLibrary:(id)a2 completionHandler:(id /* block */)a3;
- (void)_processRulesEvaluationIfNeeded;
- (BOOL)isResourceTransferTaskAliveWithTaskWithIdentifier:(id)a0;
- (void)libraryManager:(id)a0 backgroundDownloadDidFinishForResource:(id)a1;
- (void)libraryManager:(id)a0 provideLocalResource:(id)a1 recordClass:(Class)a2 completionHandler:(id /* block */)a3;
- (void)boostPriorityForMomentShareWithScopeIdentifier:(id)a0 completionHandler:(id /* block */)a1;
- (void)_doPause;
- (void)_updatePendingResetSyncDate;
- (id)cplConfiguration;
- (void)_repushMasterWithMissingMediaMetadata;
- (short)_placeHolderKindFromCPLResourceType:(unsigned long long)a0;
- (void)libraryManagerStatusDidChange:(id)a0;
- (void)getStreamingURLForAsset:(id)a0 resourceType:(unsigned long long)a1 intent:(unsigned long long)a2 hints:(id)a3 timeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a4 clientBundleID:(id)a5 completionHandler:(id /* block */)a6;
- (void)deactivateScopeWithIdentifier:(id)a0 completionHandler:(id /* block */)a1;
- (void)stopLibraryScopeRulesChangeTracker;
- (void)libraryManager:(id)a0 pushAllChangesWithCompletionHandler:(id /* block */)a1;
- (void)libraryManager:(id)a0 inMemoryDownloadDidFinishForResourceTransferTask:(id)a1 data:(id)a2 withError:(id)a3;
- (void)updateTransferCountsWithInsertedPhotoCount:(unsigned long long)a0 insertedVideoCount:(unsigned long long)a1 inLibrary:(id)a2;
- (void)_initCacheDeleteSupport;
- (void)invalidate;
- (void)_fetchNewEventsFromCloudChangeTrackerInLibrary:(id)a0;
- (void)_runAsyncOnIsolationQueueWithTransaction:(id)a0 afterDelay:(double)a1 block:(id /* block */)a2;
- (void)_handleFinalizeSessionError:(id)a0 commitError:(id)a1 uploadBatchContainer:(id)a2 needResetSync:(BOOL)a3 forTransaction:(id)a4 inLibrary:(id)a5;
- (void)_setReadyForAnalysisWithCPLStatus:(id)a0;
- (void)getLibraryScopeStatusCountsForScopeWithIdentifier:(id)a0 completionHandler:(id /* block */)a1;
- (void)libraryManager:(id)a0 downloadDidFinishForResourceTransferTask:(id)a1 finalResource:(id)a2 withError:(id)a3;
- (void)disableiCPLWithCompletionHandler:(id /* block */)a0;
- (void)_runOnLibraryOpenWithTransaction:(id)a0 block:(id /* block */)a1;
- (id)_calculateUnpauseTimeForPauseTime:(id)a0;
- (void)enableiCPLWithCompletionHandler:(id /* block */)a0;
- (void)_updateLocalStaleResourceWithCPLResource:(id)a0 inLibrary:(id)a1;
- (id)recoveryManager;
- (BOOL)_isAssetsdNotReadyToAnswer;
- (void)_updateTransferCountsInLibrary:(id)a0;
- (void)clearPrefetchState;
- (void)_initializeMasterAndSizeCalculationinLibrary:(id)a0;
- (void)queryUserIdentitiesWithParticipants:(id)a0 completionHandler:(id /* block */)a1;
- (void)saveCloudTrackerTokenObject:(id)a0;
- (void)_resetCPLLibrary;
- (void)_migrateFromChangeHubToCoreDataIfNecessary;
- (void)_notifyComputeCacheManagerWithCPLStatus:(id)a0 andCPLConfiguration:(id)a1;
- (void)_handleStateTransistionAfterDisableiCPL;
- (void)invalidateUploadDownloadCountCoalescer;
- (void)libraryManagerHasStatusChanges:(id)a0;
- (BOOL)connectToCloudChangeTracker;
- (void)_disableiCPLWillBecomeNonSystemPhotoLibrary:(BOOL)a0 configurationChanged:(BOOL)a1;
- (void)_uploadToCloudForEventsResult:(id)a0 inLibrary:(id)a1;
- (void)_resetCacheDeleteSupport;
- (void)fetchResourcesForAsset:(id)a0 completionHandler:(id /* block */)a1;
- (id)readMigrationMarker;
- (id)cplStatus;
- (void)getSystemBudgetsWithCompletionHandler:(id /* block */)a0;
- (BOOL)_hasIncomingWorkFileMarker;
- (void)_disableOpportunisticTasks;
- (BOOL)_hasAvalancheIncomingWork;
- (BOOL)isConnectedToCloudChangeTracker;
- (void)_initCPLLibraryMode;
- (id)readLocalVersion;
- (void)_downloadFromCloudInLibrary:(id)a0;
- (void)libraryManager:(id)a0 uploadDidProgress:(float)a1 forResourceTransferTask:(id)a2;
- (void)invalidateResourceManager;
- (void)_stopUnpauseTimer;
- (void)startUnsharingPendingAssetsSharedToScopeWithIdentifier:(id)a0;
- (void)deleteResources:(id)a0 checkServerIfNecessary:(BOOL)a1 completionHandler:(id /* block */)a2;
- (void)_getStatusForPendingRecordsSharedToScopeWithIdentifier:(id)a0 maximumCount:(unsigned long long)a1 completionHandler:(id /* block */)a2;
- (BOOL)_hasItemToDownload;
- (void)_repushVideoAssetsMetadata;
- (BOOL)_setupTimerForUnpause;
- (id)cacheDeleteSupport;
- (void)_getStatusChanges:(id)a0 transaction:(id)a1 notificationGeneration:(unsigned long long)a2 inLibrary:(id)a3;
- (void)startExitFromLibraryScopeWithIdentifier:(id)a0 retentionPolicy:(long long)a1 exitSource:(long long)a2 completionHandler:(id /* block */)a3;
- (id)_assetResourceForAsset:(id)a0 resourceType:(unsigned long long)a1 masterResourceOnly:(BOOL)a2 isPhoto:(BOOL *)a3;
- (unsigned long long)_inq_numberOfOtherItemsToUploadInLibrary:(id)a0;
- (void)_startLibraryScopeRulesChangeTrackerInQueue;
- (void)endsSignificantWork;
- (void)downloadResourceInMemory:(id)a0 proposedTaskIdentifier:(id)a1 taskDidBeginHandler:(id /* block */)a2 completionHandler:(id /* block */)a3;
- (void)_enableiCPL;
- (void)_doResetSync:(long long)a0 inLibrary:(id)a1;
- (void)setMigrationMarker:(id)a0;
- (void)sizeOfResourcesToUploadDidChangeForLibraryManager:(id)a0;
- (void)_checkForPushedMastersInLibrary:(id)a0;
- (void)libraryManagerDidChangeConfiguration:(id)a0;
- (void)_handleOptimizeSettingChangeInLibrary:(id)a0 withCompletionHandler:(id /* block */)a1;
- (void)_resetDidCallBlocksWaitingForLibraryOpen;
- (void)downloadResourceInMemoryForAsset:(id)a0 resourceType:(unsigned long long)a1 masterResourceOnly:(BOOL)a2 proposedTaskIdentifier:(id)a3 taskDidBeginHandler:(id /* block */)a4 completionHandler:(id /* block */)a5;
- (void)_updateAsset:(id)a0 withImageFileURL:(id)a1;
- (void)_initDeviceLibraryConfiguration;
- (void)_resetResourceManager;
- (void)_uploadFullPhotoLibraryToCloud:(id)a0;
- (id)_identifierForResource:(id)a0;
- (void)libraryManager:(id)a0 downloadDidStartForResourceTransferTask:(id)a1;
- (void)_transitionToState:(unsigned long long)a0;
- (void).cxx_destruct;
- (void)_unpause;
- (id)_debugNameForState:(unsigned long long)a0;
- (void)_updateThumbnailDataForAsset:(id)a0 withImageFileURL:(id)a1;
- (void)_finishUploadWithNoBatchesToUploadInLibrary:(id)a0;
- (void)configurationDidChange:(id)a0;
- (void)_handleAccountFlagsChangeIfNecessary;
- (void)_processNextTransaction;
- (void)_setupPLCPLPlistInLibrary:(id)a0;
- (void)_callDeviceLibraryConfigurationChangeRequestCompletionHandlersWithError:(id)a0;
- (unsigned long long)_inq_numberOfPhotosToDownloadInLibrary:(id)a0;
- (id)lastKnownCloudVersionFromDisk;
- (void)libraryManager:(id)a0 downloadDidProgress:(float)a1 forResourceTransferTask:(id)a2;
- (void)setLocalVersion:(id)a0;
- (void)photosPreferencesChanged;
- (void)fetchShareFromShareURL:(id)a0 completionHandler:(id /* block */)a1;
- (void)_startWorkInProgressTimer;
- (void)_handleOptimizeSettingChange;
- (void)updateLibraryScopeWithCPLScopeChange:(id)a0 completionHandler:(id /* block */)a1;
- (void)cloudChangeTrackerDidReceiveChangesWithTransaction:(id)a0;
- (void)libraryManager:(id)a0 backgroundDownloadDidFailForResource:(id)a1;
- (void)startAutomaticPrefetchOrPrune;
- (void)setCPLStatus:(id)a0;
- (void)_enableOpportunisticTasks;
- (id)readCloudTrackerTokenObject;
- (void)_callBlocksWaitingForLibraryOpen;
- (void)downloadAsset:(id)a0 resourceType:(unsigned long long)a1 masterResourceOnly:(BOOL)a2 highPriority:(BOOL)a3 clientBundleID:(id)a4 proposedTaskIdentifier:(id)a5 taskDidBeginHandler:(id /* block */)a6 progressBlock:(id /* block */)a7 completionHandler:(id /* block */)a8;
- (void)startAssetRecoveryWithTransaction:(id)a0;
- (unsigned long long)_inq_numberOfPhotosToUploadInLibrary:(id)a0;
- (void)_markResourceObjectIDsAsPurgeable:(id)a0 urgency:(long long)a1 inLibrary:(id)a2;
- (void)getCloudScopedIdentifiersForLocalIdentifiers:(id)a0 completionHandler:(id /* block */)a1;
- (void)cplHasBackgroundDownloadOperationsWithCompletionHandler:(id /* block */)a0;
- (void)beginsSignificantWorkWithResourcesSize:(unsigned long long)a0;
- (void)publishLibraryScopeWithCPLShare:(id)a0 title:(id)a1 completionHandler:(id /* block */)a2;
- (id)readRulesTrackerTokenObject;
- (void)_setToDownloadCountsForImages:(unsigned long long)a0 videos:(unsigned long long)a1;
- (void)_runOneTimeMigrationStepsWithoutiCPLIfNecessary;
- (BOOL)_canExternallyTransitionToNewLibraryStateIgnoringPause:(BOOL)a0;
- (void)_pause;
- (void)removeParticipantsWithParticipantUUIDs:(id)a0 fromLibraryScopeWithIdentifier:(id)a1 retentionPolicy:(long long)a2 exitSource:(long long)a3 completionHandler:(id /* block */)a4;
- (void)libraryManager:(id)a0 uploadDidStartForResourceTransferTask:(id)a1;
- (void)_callPushAllChangesCompletionHandlersIfNecessary;
- (id)_convertToIdentifierMapFromCPLScopeIdentifierMap:(id)a0;
- (void)_checkIfSharedLibraryDedupeIsDisabled;
- (void)workerCoordinatorDidFinishAllSubmittedJobsOnBundle:(id)a0;
- (void)_constructUnpauseTimerFrom:(id)a0 to:(id)a1;
- (void)publishCPLScopeChange:(id)a0 completionHandler:(id /* block */)a1;
- (void)downloadResource:(id)a0 highPriority:(BOOL)a1 clientBundleID:(id)a2 proposedTaskIdentifier:(id)a3 taskDidBeginHandler:(id /* block */)a4 progressBlock:(id /* block */)a5 completionHandler:(id /* block */)a6;
- (void)clearPurgeableResourcesMatchingPredicate:(id)a0 inLibrary:(id)a1 completionHandler:(id /* block */)a2;
- (void)setCPLConfiguration:(id)a0;
- (struct CGSize { double x0; double x1; })_targetSizeForInputSize:(struct CGSize { double x0; double x1; })a0 maxPixelSize:(unsigned long long)a1;
- (void)resolveLocalIdentifiersForCloudIdentifiers:(id)a0 completionHandler:(id /* block */)a1;
- (void)_runAsyncOnIsolationQueueWithTransaction:(id)a0 block:(id /* block */)a1;
- (long long)sizeOfResourcesToUploadByCPL:(id *)a0;
- (void)libraryManagerHasChangesToPull:(id)a0;
- (void)libraryManagerDidStartSynchronization:(id)a0;
- (void)getCPLStateForDebug:(BOOL)a0 completionHandler:(id /* block */)a1;
- (unsigned long long)_inq_numberOfVideosToUploadInLibrary:(id)a0;
- (void)_checkEnableState;
- (void)_processDownloadBatchWithSession:(id)a0 inLibrary:(id)a1;
- (void)_linkFileFrom:(id)a0 to:(id)a1;
- (void)_stopWorkInProgressTimer;
- (void)_doUnpause;
- (void)_repushAssetsWithImportedByBundleIdentifier;
- (void)saveLastKnownCloudChangeTrackerTokenToDisk;
- (void)performTransactionOnLibraryScopeSynchronizationQueue:(id /* block */)a0;
- (void)resetSyncDueToMigrationMarker;
- (void)startLibraryScopeRulesChangeTracker;
- (id)_inMemoryTrackerStateForDebug;
- (BOOL)_isPausedForDownloadRequestHighPriority:(BOOL)a0;
- (void)_initRecoveryManager;
- (void)_fixMasterStatusIn:(id)a0 inLibrary:(id)a1;
- (void)activateScopeWithIdentifier:(id)a0 completionHandler:(id /* block */)a1;
- (void)_reportOptimizeSettingChangeWithCompletionHandler:(id /* block */)a0;
- (void)refreshLibraryScopeWithIdentifier:(id)a0 completionHandler:(id /* block */)a1;
- (void)endUserSessionWithCompletionHandler:(id /* block */)a0;
- (void)cancelResourceTransferTaskWithIdentifier:(id)a0 completion:(id /* block */)a1;
- (void)_runOneTimeMigrationStepsIfNecessaryInLibrary:(id)a0;
- (void)disableiCPLSyncWillBecomeNonSystemPhotoLibrary;

@end