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" { extern "C" {
#endif #endif
DEFINE_BLOCK_TYPE_NO_ARGS(GSTaskTerminatorHandler, void);
@class NSThread; @class NSThread;
#if OS_API_VERSION(MAC_OS_X_VERSION_10_5,GS_API_LATEST) #if OS_API_VERSION(MAC_OS_X_VERSION_10_5,GS_API_LATEST)
@ -131,6 +133,19 @@ GS_EXPORT_CLASS
- (BOOL) usePseudoTerminal; - (BOOL) usePseudoTerminal;
- (NSString*) validatedLaunchPath; - (NSString*) validatedLaunchPath;
#endif #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 @end
/** /**

View file

@ -876,6 +876,29 @@ pty_slave(const char* name)
[loop runMode: NSDefaultRunLoopMode beforeDate: limit]; [loop runMode: NSDefaultRunLoopMode beforeDate: limit];
LEAVE_POOL 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 @end
@implementation NSTask (Private) @implementation NSTask (Private)