luxlabs header browser preview


@class NSString;
@protocol CNFileServices, CNInhibitor, NSLocking;

@interface CNProcessSharedLock : NSObject <NSLocking> {
    id<NSLocking> _localLock;
    long long _localLockCount;
    int _fileDescriptor;
    id<CNFileServices> _fileServices;
}

@property (retain) id<CNInhibitor> runningBoardInhibitor;
@property (copy) NSString *name;
@property (readonly, copy) NSString *lockFilePath;

+ (id)os_log;
+ (id)recursiveSharedLockWithLockFilePath:(id)a0;
+ (id)semaphoreSharedLockWithLockFilePath:(id)a0;
+ (id)sharedLockWithLockFilePath:(id)a0;

- (id)init;
- (void)dealloc;
- (void)lock;
- (void)invalidate;
- (BOOL)open:(id *)a0;
- (void)unlock;
- (id)description;
- (BOOL)isValid;
- (void).cxx_destruct;
- (id)initWithLockFilePath:(id)a0 localLock:(id)a1;
- (BOOL)ensureFileDescriptorIsInvalid:(id /* block */)a0;
- (BOOL)ensureFileIsLocal:(id /* block */)a0;
- (id)errorUserInfo;
- (id)errorUserInfoWithDescription:(id)a0;
- (id)exceptionWithName:(id)a0 reason:(id)a1;
- (id)initWithLockFilePath:(id)a0 localLock:(id)a1 fileServices:(id)a2;
- (BOOL)isValidFileDescriptor;
- (void)lockRetryOnEDEADLK;
- (BOOL)openLockFile:(id /* block */)a0;

@end