/*************************************************************************** myprocess.h - Wrapper class for running shell processes ------------------- copyright : (C) 2002 by Marc Britton email : consume@optusnet.com.au ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #ifndef _HAVE_MYPROCESS_H_ #define _HAVE_MYPROCESS_H_ /* KDE INCLUDES */ #include /* QT INCLUDES */ #include #include #include "kommander_export.h" class KommanderWidget; class KOMMANDER_EXPORT MyProcess : public TQObject { Q_OBJECT public: MyProcess(const KommanderWidget *); // Run given command, using a_shell as a shell (this can be overridden by shebang in the first line) // Process is run in blocking mode. TQString run(const TQString& a_command, const TQString& a_shell = "/bin/sh"); // Kill running process void cancel(); void setBlocking(bool blocking); bool isBlocking() const; TQString output() const; signals: void processExited(MyProcess*); void processReceivedStdout(MyProcess*, char*, int); private slots: void slotReceivedStdout(TDEProcess*, char*, int); void slotProcessExited(TDEProcess*); protected: const KommanderWidget *m_atw; TQString m_output; TQCString m_input; bool m_loopStarted; bool m_blocking; bool m_handleOutput; TDEProcess* mProcess; }; #endif