Add new methods for NSTask

This commit is contained in:
Gregory John Casamento 2022-06-07 21:32:11 -04:00
parent eb93c3661b
commit 6c7386f5e1
2 changed files with 38 additions and 0 deletions

View file

@ -36,6 +36,8 @@
extern "C" {
#endif
DEFINE_BLOCK_TYPE_NO_ARGS(GSTaskTerminatorHandler, void);
@class NSThread;
#if OS_API_VERSION(MAC_OS_X_VERSION_10_5,GS_API_LATEST)
@ -131,6 +133,19 @@ GS_EXPORT_CLASS
- (BOOL) usePseudoTerminal;
- (NSString*) validatedLaunchPath;
#endif
#if OS_API_VERSION(MAC_OS_X_VERSION_10_13, GS_API_LATEST)
+ (NSTask *) launchedTaskWithExecutableURL: (NSURL *)url
arguments: (NSArray *)arguments
error: (NSError **)error
terminationHandler: (GSTaskTerminatorHandler)terminationHandler;
- (BOOL) launchAndReturnError:(out NSError **)error;
- (NSURL *) executableURL;
- (NSURL *) currentDirectoryURL;
#endif
@end
/**

View file

@ -876,6 +876,29 @@ pty_slave(const char* name)
[loop runMode: NSDefaultRunLoopMode beforeDate: limit];
LEAVE_POOL
}
+ (NSTask *) launchedTaskWithExecutableURL: (NSURL *)url
arguments: (NSArray *)arguments
error: (NSError **)error
terminationHandler: (GSTaskTerminatorHandler)terminationHandler
{
return nil;
}
- (BOOL) launchAndReturnError:(out NSError **)error
{
return NO;
}
- (NSURL *) executableURL
{
return nil;
}
- (NSURL *) currentDirectoryURL
{
return nil;
}
@end
@implementation NSTask (Private)