System/Library/Frameworks/Foundation.framework
NSFileAccessClaim.h
@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