// // Copyright 2006 Jim Bublitz // Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson // may also apply // Generated by preSip // module tdecore version KDE 3.5.3 // This software 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. // // This software is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public // License along with this library; see the file COPYING. // If not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. class KProcess : QObject { %TypeHeaderCode #include %End public: %If ( KDE_3_5_2 - ) enum Communication { NoCommunication, Stdin, Stdout, Stderr, AllOutput, All, NoRead, CTtyOnly, MergedStderr }; %End %If ( KDE_3_2_0 - ) enum RunMode { DontCare, NotifyOnExit, Block, OwnGroup }; KProcess (QObject* /TransferThis/, const char* = 0); %End KProcess (); bool setExecutable (const QString&); %If ( KDE_3_1_4 - ) KProcess& operator << (const QString&); KProcess& operator << (const char*); KProcess& operator << (const QCString&); KProcess& operator << (const QStringList&); %End void clearArguments (); virtual bool start (KProcess::RunMode = NotifyOnExit , KProcess::Communication = NoCommunication ); virtual bool kill (int = SIGTERM ); bool isRunning () const; pid_t pid () const; pid_t getPid () const; void suspend (); void resume (); %If ( KDE_3_2_0 - ) bool wait (int = -1); %End bool normalExit () const; %If ( KDE_3_2_0 - ) bool signalled () const; bool coreDumped () const; %End int exitStatus () const; %If ( KDE_3_2_0 - ) int exitSignal () const; %End bool writeStdin (const char*, int); bool closeStdin (); bool closeStdout (); bool closeStderr (); %If ( KDE_3_2_0 - ) bool closePty (); void closeAll (); %End const QValueList& args (); void setRunPrivileged (bool); bool runPrivileged () const; void setEnvironment (const QString&, const QString&); void setWorkingDirectory (const QString&); %If ( KDE_3_1_0 - ) void setUseShell (bool, const char* = 0); static QString quote (const QString&); %End void detach (); %If ( KDE_3_2_0 - ) enum { PrioLowest, PrioLow, PrioLower, PrioNormal, PrioHigher, PrioHigh, PrioHighest }; bool setPriority (int); %End signals: void processExited (KProcess*); void receivedStdout (KProcess*, char*, int); //ig void receivedStdout (int, int&); void receivedStderr (KProcess*, char*, int); void wroteStdin (KProcess*); protected slots: void slotChildOutput (int); void slotChildError (int); void slotSendData (int); protected: void setupEnvironment (); virtual int setupCommunication (KProcess::Communication); virtual int commSetupDoneP (); virtual int commSetupDoneC (); virtual void processHasExited (int); virtual void commClose (); %If ( KDE_3_2_0 - ) void setBinaryExecutable (const char*); %End int childOutput (int); int childError (int); protected: //igx virtual void virtual_hook (int, void*); public: %If ( - KDE_3_5_2 ) enum Communication { NoCommunication, Stdin, Stdout, Stderr, AllOutput, All, NoRead }; %End public: %If ( KDE_3_2_0 - KDE_3_4_0 ) void setUsePty (KProcess::Communication, bool); KPty* pty () const; %End public: %If ( - KDE_3_2_0 ) enum RunMode { DontCare, NotifyOnExit, Block }; %End %If ( - KDE_3_2_0 ) private: KProcess (const KProcess&); %End public: //force void setArguments (SIP_PYLIST) [void (char**)]; %MethodCode //takes arglist | (a Python list of strings) //doc // setArguments is the PyKDE equivalent of the stream operator methods (<<) // in KDE's KProcess class - provide with a list of strings representing // the arguments to the executable program set with setExecutable (PyKDE // will continue to provide setExecutable even though it's deprecated in // KDE (to also be replaced with stream operators) //end PyObject *elem; for (int i = 0; i < PyList_Size (a0); i++) { elem = PyList_GET_ITEM (a0, i); *sipCpp << PyString_AsString (elem); } %End //end }; // class KProcess class KShellProcess : KProcess { %TypeHeaderCode #include %End public: KShellProcess (const char* = 0); virtual bool start (RunMode = NotifyOnExit , Communication = NoCommunication ); static QString quote (const QString&); protected: //igx virtual void virtual_hook (int, void*); %If ( - KDE_3_2_0 ) private: KShellProcess (const KShellProcess&); %End }; // class KShellProcess