luxlabs header browser preview


@class BSProcessHandle, FBSProcessExecutionProvision, FBSProcessTerminationRequest, FBProcessWatchdogEventContext, NSMutableArray, NSString, BSMachPortTaskNameRight, RBSProcessHandle, FBProcessExitContext, NSMutableSet, RBSProcessIdentity, RBSAssertion, NSError, BSAbsoluteMachTimer, RBSProcessState, FBSProcessWatchdogPolicy, FBWorkspace, NSObject, FBProcessState, RBSTarget, FBProcessWatchdog, FBProcessCPUStatistics, FBSApplicationInfo, FBProcessExecutionContext, BSAuditToken;
@protocol OS_dispatch_queue, FBProcessDelegate, FBProcessWatchdogProviding;

@interface FBProcess : NSObject <FBProcessBootstrapping, FBSProcessInternal, RBSProcessMatching, FBSProcess> {
    struct os_unfair_recursive_lock_s { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } ourl_lock; unsigned int ourl_count; } _lock;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _observerLock;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _bootstrapLock;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _watchdogProviderLock;
    NSString *_description;
    NSError *_bootstrapError;
    NSMutableSet *_observerLock_observers;
    RBSAssertion *_lock_gracefulExitAssertion;
    NSMutableArray *_lock_launchCompletionBlocks;
    NSMutableArray *_lock_bootstrapBlocks;
    FBProcessState *_lock_state;
    RBSProcessState *_lock_rbsState;
    unsigned char _lock_sceneState;
    FBProcessCPUStatistics *_lock_watchdogCPUStatistics;
    FBSProcessTerminationRequest *_lock_terminationRequest;
    FBProcessWatchdogEventContext *_lock_terminationWatchdogContext;
    long long _terminationReason;
    NSMutableArray *_lock_terminateRequestCompletionBlocks;
    BSAbsoluteMachTimer *_lock_exitTimer;
    id<FBProcessWatchdogProviding> _watchdogProvider;
    FBProcessWatchdog *_lock_watchdog;
    FBSProcessWatchdogPolicy *_sceneCreateWatchdogPolicy;
    FBSProcessExecutionProvision *_lock_latestViolatedProvision;
    BOOL _lock_pendingExit;
    BOOL _lock_invalidated;
    BOOL _lock_attemptedBootstrap;
    BOOL _lock_waitForDebugger;
    BOOL _lock_updatingState;
    BOOL _lock_didExit;
    BOOL _lock_launchFinalized;
    BOOL _lock_launchSuccess;
    long long _lock_executableLivesOnSystemPartition;
    long long _lock_platformBinary;
    BOOL _calloutQueue_sentWillExit;
    BOOL _calloutQueue_sentDidExit;
    BOOL _calloutQueue_sentAppWillLaunch;
    BOOL _calloutQueue_sentAppDidLaunch;
}

@property (class, readonly, retain, nonatomic) NSObject<OS_dispatch_queue> *calloutQueue;

@property (readonly, nonatomic) BOOL executableLivesOnSystemPartition;
@property (readonly, nonatomic, getter=isPlatformBinary) BOOL platformBinary;
@property (readonly, nonatomic) double execTime;
@property (readonly, nonatomic) RBSTarget *target;
@property (readonly, nonatomic) RBSProcessHandle *rbsHandle;
@property (readonly, nonatomic) BSAuditToken *auditToken;
@property (readonly, weak, nonatomic) id<FBProcessDelegate> delegate;
@property (readonly, nonatomic) unsigned char assertionState;
@property (readonly, nonatomic) FBWorkspace *workspace;
@property (readonly, nonatomic) BSProcessHandle *handle;
@property (readonly, nonatomic) RBSProcessIdentity *identity;
@property (readonly, nonatomic) FBSApplicationInfo *applicationInfo;
@property (readonly, copy, nonatomic) NSString *bundleIdentifier;
@property (readonly, copy, nonatomic) NSString *executablePath;
@property (readonly, copy, nonatomic) FBProcessExecutionContext *executionContext;
@property (readonly, nonatomic) FBProcessExitContext *exitContext;
@property (readonly, copy, nonatomic) FBProcessState *state;
@property (readonly, nonatomic) int pid;
@property (readonly, nonatomic) long long versionedPID;
@property (readonly, nonatomic, getter=isRunning) BOOL running;
@property (readonly, nonatomic, getter=isForeground) BOOL foreground;
@property (readonly, nonatomic, getter=isBeingDebugged) BOOL beingDebugged;
@property (readonly, nonatomic, getter=isCurrentProcess) BOOL currentProcess;
@property (readonly, nonatomic, getter=isFinishedLaunching) BOOL finishedLaunching;
@property (readonly, nonatomic, getter=isPendingExit) BOOL pendingExit;
@property (readonly, copy, nonatomic) NSString *name;
@property (readonly, retain, nonatomic) BSMachPortTaskNameRight *taskNameRight;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)createProcessWithHandle:(id)a0;
+ (id)_currentProcess;
+ (id)createCurrentProcess;
+ (id)createProcessWithExecutionContext:(id)a0;

- (id)processPredicate;
- (BOOL)matchesProcess:(id)a0;
- (id)_observers;
- (id)init;
- (void)dealloc;
- (void)removeObserver:(id)a0;
- (long long)taskState;
- (id)succinctDescriptionBuilder;
- (void)_bootstrapDidComplete;
- (void)invalidate;
- (id)descriptionBuilderWithMultilinePrefix:(id)a0;
- (long long)visibility;
- (void)_noteProcessDidExit:(id)a0;
- (BOOL)hasEntitlement:(id)a0;
- (void)setWatchdogProvider:(id)a0;
- (id)valueForEntitlement:(id)a0;
- (BOOL)isApplicationProcess;
- (id)descriptionWithMultilinePrefix:(id)a0;
- (void)_finishInit;
- (void).cxx_destruct;
- (id)succinctDescription;
- (void)addObserver:(id)a0;
- (id)_createBootstrapContext;
- (BOOL)finishedLaunching;
- (void)_terminateWithRequest:(id)a0 forWatchdog:(id)a1;
- (BOOL)_watchdog:(id)a0 shouldTerminateWithDeclineReason:(out id *)a1;
- (id)_watchdog:(id)a0 terminationRequestForViolatedProvision:(id)a1 error:(id)a2;
- (void)_configureIntrinsicsFromHandle:(id)a0;
- (void)_bootstrapAndExec;
- (void)_executeBlockAfterBootstrap:(id /* block */)a0;
- (void)_executeBlockAfterLaunchCompletes:(id /* block */)a0;
- (void)_executeBlockAsCurrentProcess:(id /* block */)a0;
- (id)_initWithIdentity:(id)a0 handle:(id)a1 executionContext:(id)a2;
- (void)_killForReason:(long long)a0 andReport:(BOOL)a1 withDescription:(id)a2 completion:(id /* block */)a3;
- (void)_launchDidComplete:(BOOL)a0 finalizeBlock:(id /* block */)a1;
- (void)_lock_consumeLock_executeTerminationRequest;
- (void)_lock_consumeLock_performGracefulKill;
- (id)_newWatchdogForContext:(id)a0 completion:(id /* block */)a1;
- (void)_noteAssertionStateDidChange;
- (void)_notePendingExitForReason:(id)a0;
- (void)_noteStateDidUpdate:(id)a0;
- (void)_processDidExitWithContext:(id)a0;
- (void)_rebuildState;
- (void)_rebuildState:(id)a0;
- (void)_setSceneLifecycleState:(unsigned char)a0;
- (BOOL)_shouldWatchdogWithDeclineReason:(id *)a0;
- (BOOL)_startWatchdogTimerForContext:(id)a0;
- (void)_terminateWithRequest:(id)a0 completion:(id /* block */)a1;
- (void)_updateStateWithBlock:(id /* block */)a0;
- (id)_watchdogProvider;
- (long long)_watchdogReportType;
- (void)bootstrapLock:(id /* block */)a0;
- (BOOL)bootstrapWithDelegate:(id)a0;
- (BOOL)isExtensionProcess;
- (BOOL)isSystemApplicationProcess;
- (void)noteProcessPublished;

@end