20 #ifndef __kprocess_h__
21 #define __kprocess_h__
23 #include <sys/types.h>
27 #include <tqvaluelist.h>
28 #include <tqcstring.h>
30 #include "kdelibs_export.h"
32 class TQSocketNotifier;
33 class KProcessPrivate;
159 Stdin = 1, Stdout = 2, Stderr = 4,
160 AllOutput = 6, All = 7,
194 KProcess( TQObject* parent,
const char *name = 0 );
222 bool setExecutable(
const TQString& proc) KDE_DEPRECATED;
238 KProcess &operator<<(
const TQString& arg);
242 KProcess &operator<<(
const char * arg);
248 KProcess &operator<<(
const TQCString & arg);
256 KProcess &operator<<(
const TQStringList& args);
262 void clearArguments();
290 virtual bool start(RunMode runmode = NotifyOnExit,
291 Communication comm = NoCommunication);
299 virtual bool kill(
int signo = SIGTERM);
305 bool isRunning()
const;
323 KDE_DEPRECATED pid_t
getPid()
const {
return pid(); }
343 bool wait(
int timeout = -1);
351 bool normalExit()
const;
361 bool signalled()
const;
372 bool coreDumped()
const;
380 int exitStatus()
const;
390 int exitSignal()
const;
422 bool writeStdin(
const char *buffer,
int buflen);
472 const TQValueList<TQCString> &
args() {
return arguments; }
483 void setRunPrivileged(
bool keepPrivileges);
490 bool runPrivileged()
const;
498 void setEnvironment(
const TQString &name,
const TQString &value);
506 void setWorkingDirectory(
const TQString &dir);
524 void setUseShell(
bool useShell,
const char *shell = 0);
535 static TQString quote(
const TQString &arg);
558 void setUsePty(Communication comm,
bool addUtmp);
573 enum { PrioLowest = 20, PrioLow = 10, PrioLower = 5, PrioNormal = 0,
574 PrioHigher = -5, PrioHigh = -10, PrioHighest = -19 };
582 bool setPriority(
int prio);
612 void receivedStdout(
KProcess *proc,
char *buffer,
int buflen);
632 void receivedStdout(
int fd,
int &len);
649 void receivedStderr(
KProcess *proc,
char *buffer,
int buflen);
667 void slotChildOutput(
int fdno);
674 void slotChildError(
int fdno);
682 void slotSendData(
int dummy);
690 void setupEnvironment();
762 virtual int commSetupDoneP();
769 virtual int commSetupDoneC();
778 virtual void processHasExited(
int state);
805 virtual void commClose();
820 void setBinaryExecutable(
const char *filename);
859 int childOutput(
int fdno);
866 int childError(
int fdno);
888 virtual void virtual_hook(
int id,
void* data );
893 class KShellProcessPrivate;
925 static TQString
quote(
const TQString &arg);
931 virtual void virtual_hook(
int id,
void* data );
933 KShellProcessPrivate *d;