diff options
author | Timothy Pearson <[email protected]> | 2011-11-06 15:56:40 -0600 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2011-11-06 15:56:40 -0600 |
commit | e16866e072f94410321d70daedbcb855ea878cac (patch) | |
tree | ee3f52eabde7da1a0e6ca845fb9c2813cf1558cf /kdesu/process.h | |
parent | a58c20c1a7593631a1b50213c805507ebc16adaf (diff) | |
download | tdelibs-e16866e072f94410321d70daedbcb855ea878cac.tar.gz tdelibs-e16866e072f94410321d70daedbcb855ea878cac.zip |
Actually move the kde files that were renamed in the last commit
Diffstat (limited to 'kdesu/process.h')
-rw-r--r-- | kdesu/process.h | 188 |
1 files changed, 0 insertions, 188 deletions
diff --git a/kdesu/process.h b/kdesu/process.h deleted file mode 100644 index ec3af9a62..000000000 --- a/kdesu/process.h +++ /dev/null @@ -1,188 +0,0 @@ -/* vi: ts=8 sts=4 sw=4 - * - * $Id$ - * - * This file is part of the KDE project, module tdesu. - * Copyright (C) 1999,2000 Geert Jansen <[email protected]> - * - * This is free software; you can use this library under the GNU Library - * General Public License, version 2. See the file "COPYING.LIB" for the - * exact licensing terms. - */ - -#ifndef __Process_h_Included__ -#define __Process_h_Included__ - -#include <sys/types.h> - -#include <tqcstring.h> -#include <tqstring.h> -#include <tqstringlist.h> -#include <tqvaluelist.h> - -#include <kdelibs_export.h> - -class PTY; -typedef TQValueList<TQCString> QCStringList; - -/** - * Synchronous communication with tty programs. - * - * PtyProcess provides synchronous communication with tty based programs. - * The communications channel used is a pseudo tty (as opposed to a pipe) - * This means that programs which require a terminal will work. - */ - -class KDESU_EXPORT PtyProcess -{ -public: - PtyProcess(); - virtual ~PtyProcess(); - - /** - * Forks off and execute a command. The command's standard in and output - * are connected to the pseudo tty. They are accessible with readLine - * and writeLine. - * @param command The command to execute. - * @param args The arguments to the command. - */ - int exec(const TQCString &command, const QCStringList &args); - - /** - * Reads a line from the program's standard out. Depending on the @em block - * parameter, this call blocks until a single, full line is read. - * @param block Block until a full line is read? - * @return The output string. - */ - TQCString readLine(bool block=true); - /** - * Read all available output from the program's standard out. - * @param block If no output is in the buffer, should the function block - * @return The output. - */ - TQCString readAll(bool block=true); - - /** - * Writes a line of text to the program's standard in. - * @param line The text to write. - * @param addNewline Adds a '\n' to the line. - */ - void writeLine(const TQCString &line, bool addNewline=true); - - /** - * Puts back a line of input. - * @param line The line to put back. - * @param addNewline Adds a '\n' to the line. - */ - void unreadLine(const TQCString &line, bool addNewline=true); - - /** - * Sets the exit string. If a line of program output matches this, - * waitForChild() will terminate the program and return. - */ - void setExitString(const TQCString &exit) { m_Exit = exit; } - - /** - * Waits for the child to exit. See also setExitString. - */ - int waitForChild(); - - /** - * Waits until the pty has cleared the ECHO flag. This is useful - * when programs write a password prompt before they disable ECHO. - * Disabling it might flush any input that was written. - */ - int WaitSlave(); - - /** - * Enables/disables local echo on the pseudo tty. - */ - int enableLocalEcho(bool enable=true); - - /** - * Enables/disables terminal output. Relevant only to some subclasses. - */ - void setTerminal(bool terminal) { m_bTerminal = terminal; } - - /** - * Overwrites the password as soon as it is used. Relevant only to - * some subclasses. - */ - void setErase(bool erase) { m_bErase = erase; } - - /** - * Set additinal environment variables. - */ - void setEnvironment( const QCStringList &env ); - - /** - * Returns the filedescriptor of the process. - */ - int fd() {return m_Fd;} - - /** - * Returns the pid of the process. - */ - int pid() {return m_Pid;} - -public: /* static */ - /* - ** This is a collection of static functions that can be - ** used for process control inside tdesu. I'd suggest - ** against using this publicly. There are probably - ** nicer Qt based ways to do what you want. - */ - - /** - ** Wait @p ms miliseconds (ie. 1/10th of a second is 100ms), - ** using @p fd as a filedescriptor to wait on. Returns - ** select(2)'s result, which is -1 on error, 0 on timeout, - ** or positive if there is data on one of the selected fd's. - ** - ** @p ms must be in the range 0..999 (ie. the maximum wait - ** duration is 999ms, almost one second). - */ - static int waitMS(int fd,int ms); - - - /** - ** Basic check for the existence of @p pid. - ** Returns true iff @p pid is an extant process, - ** (one you could kill - see man kill(2) for signal 0). - */ - static bool checkPid(pid_t pid); - - /** - ** Check process exit status for process @p pid. - ** On error (no child, no exit), return -1. - ** If child @p pid has exited, return its exit status, - ** (which may be zero). - ** If child @p has not exited, return -2. - */ - enum checkPidStatus { Error=-1, NotExited=-2, Killed=-3 } ; - static int checkPidExited(pid_t pid); - - -protected: - const QCStringList& environment() const; - - bool m_bErase, m_bTerminal; - int m_Pid, m_Fd; - TQCString m_Command, m_Exit; - -private: - int init(); - int SetupTTY(int fd); - - PTY *m_pPTY; - TQCString m_Inbuf, m_TTY; - -protected: - virtual void virtual_hook( int id, void* data ); -private: - class PtyProcessPrivate; - PtyProcessPrivate *d; -}; - - -#endif |