luxlabs header browser preview


@class NSXPCConnection, NSString, NSArray, NSError, NSMutableDictionary, NSFileAccessProcessManager, NSCountedSet, NSObject, NSMutableArray, NSMutableOrderedSet, NSMutableSet;
@protocol OS_dispatch_queue, OS_dispatch_semaphore;

@interface NSFileAccessClaim : NSObject <NSSecureCoding> {
    NSXPCConnection *_client;
    NSString *_claimID;
    NSString *_purposeIDOrNil;
    BOOL _cameFromSuperarbiter;
    unsigned long long _blockageCount;
    BOOL _didWait;
    BOOL _isRevoked;
    NSMutableArray *_claimerBlockageReasons;
    NSError *_claimerError;
    NSMutableOrderedSet *_pendingClaims;
    NSMutableSet *_blockingClaims;
    NSCountedSet *_blockingReactorIDs;
    NSMutableArray *_providerCancellationProcedures;
    NSMutableDictionary *_reacquisitionProceduresByPresenterID;
    NSMutableArray *_revocationProcedures;
    NSMutableArray *_devaluationProcedures;
    NSMutableArray *_finishingProcedures;
    NSFileAccessProcessManager *_processManager;
    BOOL _hasInvokedClaimer;
    id _claimerOrNil;
    id /* block */ _serverClaimerOrNil;
    NSMutableArray *_sandboxTokens;
    NSObject<OS_dispatch_queue> *_arbiterQueue;
    id _originatingReactorQueueID;
    NSMutableDictionary *_fileHandlesForEvictionProtection;
}

@property (class, readonly) BOOL supportsSecureCoding;

@property (readonly) NSObject<OS_dispatch_semaphore> *claimerWaiter;
@property (readonly, copy) NSArray *allURLs;
@property BOOL shouldEnableMaterializationDuringAccessorBlock;

+ (BOOL)canNewWriteOfItemAtLocation:(id)a0 options:(unsigned long long)a1 safelyOverlapExistingWriteOfItemAtLocation:(id)a2 options:(unsigned long long)a3;
+ (BOOL)canReadingItemAtLocation:(id)a0 options:(unsigned long long)a1 safelyOverlapNewWriting:(BOOL)a2 ofItemAtLocation:(id)a3 options:(unsigned long long)a4;

- (BOOL)didWait;
- (void)finished;
- (int)clientProcessIdentifier;
- (void)devalueSelf;
- (void)disavowed;
- (void)devalueOldClaim:(id)a0;
- (id)descriptionWithIndenting:(id)a0;
- (void)setClaimerError:(id)a0;
- (void)dealloc;
- (BOOL)isBlockedByClaimWithPurposeID:(id)a0;
- (void)makeProviderOfItemAtLocation:(id)a0 provideOrAttachPhysicalURLIfNecessaryForPurposeID:(id)a1 writingOptions:(unsigned long long)a2 thenContinue:(id /* block */)a3;
- (id)purposeIDOfClaimOnItemAtLocation:(id)a0 forMessagingPresenter:(id)a1;
- (void)setCameFromSuperarbiter;
- (void)itemAtLocation:(id)a0 wasReplacedByItemAtLocation:(id)a1;
- (id)client;
- (void)forwardUsingConnection:(id)a0 crashHandler:(id /* block */)a1;
- (BOOL)evaluateSelfWithRootNode:(id)a0 checkSubarbitrability:(BOOL)a1;
- (void)_setupWithClaimID:(id)a0 purposeID:(id)a1 originatingReactorQueueID:(id)a2;
- (void)encodeWithCoder:(id)a0;
- (void)addPendingClaim:(id)a0;
- (void)removeBlockingReactorID:(id)a0;
- (void)scheduleBlockedClaim:(id)a0;
- (BOOL)shouldReadingWithOptions:(unsigned long long)a0 causePresenterToRelinquish:(id)a1;
- (id)purposeID;
- (void)ensureProvidersOfItemsAtReadingLocations:(id)a0 writingLocations:(id)a1 thenContinue:(id /* block */)a2;
- (BOOL)checkIfSymbolicLinkAtURL:(id)a0 withResolutionCount:(long long *)a1 andIfSoThenReevaluateSelf:(id /* block */)a2;
- (BOOL)shouldWritingWithOptions:(unsigned long long)a0 causePresenterToRelinquish:(id)a1;
- (void)makeProvidersProvideItemsForReadingLocations:(id)a0 options:(unsigned long long *)a1 andWritingLocationsIfNecessary:(id)a2 options:(unsigned long long *)a3 thenContinue:(id /* block */)a4;
- (id)claimerError;
- (void)protectFilesAgainstEviction;
- (BOOL)cameFromSuperarbiter;
- (void)cancelled;
- (id)description;
- (id)pendingClaims;
- (void)whenRevokedPerformProcedure:(id /* block */)a0;
- (BOOL)shouldMakeProviderProvideItemAtLocation:(id)a0 withOptions:(unsigned long long)a1;
- (void)granted;
- (void)removePendingClaims:(id)a0;
- (void)unblock;
- (BOOL)shouldBeRevokedPriorToInvokingAccessor;
- (void)makeProviderOfItemAtLocation:(id)a0 provideIfNecessaryWithOptions:(unsigned long long)a1 thenContinue:(id /* block */)a2;
- (void)whenFinishedPerformProcedure:(id /* block */)a0;
- (void)givePriorityToClaim:(id)a0;
- (void)makePresentersOfItemAtLocation:(id)a0 orContainedItem:(BOOL)a1 relinquishUsingProcedureGetter:(id /* block */)a2;
- (void)evaluateNewClaim:(id)a0;
- (void)prepareItemForUploadingFromURL:(id)a0 thenContinue:(id /* block */)a1;
- (void)revoked;
- (BOOL)canAccessLocations:(id)a0 forReading:(BOOL)a1 error:(id *)a2;
- (id)claimID;
- (void)invokeClaimer;
- (void)prepareClaimForGrantingWithArbiterQueue:(id)a0;
- (BOOL)shouldCancelInsteadOfWaiting;
- (BOOL)claimerInvokingIsBlockedByReactorWithID:(id)a0;
- (void)makeProviderOfItemAtLocation:(id)a0 provideOrAttachPhysicalURLIfNecessaryForPurposeID:(id)a1 readingOptions:(unsigned long long)a2 thenContinue:(id /* block */)a3;
- (id)initWithClient:(id)a0 claimID:(id)a1 purposeID:(id)a2;
- (void)startObservingClientState;
- (void)unblockClaimerForReason:(id)a0;
- (void)acceptClaimFromClient:(id)a0 arbiterQueue:(id)a1 grantHandler:(id /* block */)a2;
- (void)_protectIfNecessaryFileAtURL:(id)a0 withOptions:(unsigned long long)a1 forReading:(BOOL)a2;
- (void)_checkIfMovingRequiresProvidingAmongWritingLocations:(id)a0 options:(unsigned long long *)a1 thenContinue:(id /* block */)a2;
- (void)block;
- (void)addBlockingReactorID:(id)a0;
- (void)makeProviderOfItemAtLocation:(id)a0 providePhysicalURLThenContinue:(id /* block */)a1;
- (void)blockClaimerForReason:(id)a0;
- (BOOL)isBlockedByWritingItemAtLocation:(id)a0 options:(unsigned long long)a1;
- (BOOL)isBlockedByReadingItemAtLocation:(id)a0 options:(unsigned long long)a1;
- (void)whenDevaluedPerformProcedure:(id /* block */)a0;
- (BOOL)shouldInformProvidersAboutEndOfWriteWithOptions:(unsigned long long)a0;
- (id)initWithCoder:(id)a0;
- (BOOL)isRevoked;
- (BOOL)_writeArchiveOfDirectoryAtURL:(id)a0 toURL:(id)a1 error:(id *)a2;
- (BOOL)isGranted;

@end