ObjFW
|
00001 /* 00002 * Copyright (c) 2008, 2009, 2010, 2011, 2012 00003 * Jonathan Schleifer <js@webkeks.org> 00004 * 00005 * All rights reserved. 00006 * 00007 * This file is part of ObjFW. It may be distributed under the terms of the 00008 * Q Public License 1.0, which can be found in the file LICENSE.QPL included in 00009 * the packaging of this file. 00010 * 00011 * Alternatively, it may be distributed under the terms of the GNU General 00012 * Public License, either version 2 or 3, which can be found in the file 00013 * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this 00014 * file. 00015 */ 00016 00017 #ifndef __STDC_LIMIT_MACROS 00018 # define __STDC_LIMIT_MACROS 00019 #endif 00020 #ifndef __STDC_CONSTANT_MACROS 00021 # define __STDC_CONSTANT_MACROS 00022 #endif 00023 00024 #include <sys/types.h> 00025 00026 #import "OFStream.h" 00027 00028 #ifdef _WIN32 00029 # include <windows.h> 00030 #endif 00031 00035 @interface OFProcess: OFStream 00036 { 00037 #ifndef _WIN32 00038 pid_t pid; 00039 int readPipe[2], writePipe[2]; 00040 #else 00041 HANDLE readPipe[2], writePipe[2]; 00042 #endif 00043 int status; 00044 BOOL atEndOfStream; 00045 } 00046 00055 + processWithProgram: (OFString*)program; 00056 00066 + processWithProgram: (OFString*)program 00067 arguments: (OFArray*)arguments; 00068 00080 + processWithProgram: (OFString*)program 00081 programName: (OFString*)programName 00082 arguments: (OFArray*)arguments; 00083 00092 - initWithProgram: (OFString*)program; 00093 00103 - initWithProgram: (OFString*)program 00104 arguments: (OFArray*)arguments; 00105 00117 - initWithProgram: (OFString*)program 00118 programName: (OFString*)programName 00119 arguments: (OFArray*)arguments; 00120 00128 - (void)closeForWriting; 00129 @end