summaryrefslogtreecommitdiff
path: root/libopie2
authormickeyl <mickeyl>2004-01-13 19:20:49 (UTC)
committer mickeyl <mickeyl>2004-01-13 19:20:49 (UTC)
commit81b48fa5be4806e3afa64a0d1fa254fbdf9b7315 (patch) (unidiff)
treea28289a6d048ec80e359233a6b72bd946a9b8eb8 /libopie2
parent399cf645e63e53043975fa2b26768d8db6d83ee4 (diff)
downloadopie-81b48fa5be4806e3afa64a0d1fa254fbdf9b7315.zip
opie-81b48fa5be4806e3afa64a0d1fa254fbdf9b7315.tar.gz
opie-81b48fa5be4806e3afa64a0d1fa254fbdf9b7315.tar.bz2
cleanup and unify source layout
Diffstat (limited to 'libopie2') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opiecore/oprocess.cpp193
-rw-r--r--libopie2/opiecore/oprocess.h80
2 files changed, 109 insertions, 164 deletions
diff --git a/libopie2/opiecore/oprocess.cpp b/libopie2/opiecore/oprocess.cpp
index fb51bf9..f1a5f3b 100644
--- a/libopie2/opiecore/oprocess.cpp
+++ b/libopie2/opiecore/oprocess.cpp
@@ -1,65 +1,48 @@
1/* 1/*
2 2                This file is part of the Opie Project
3 $Id$ 3             Copyright (C) 2002-2004 Holger Freyther <zecke@handhelds.org>
4 4 and The Opie Team <opie-devel@handhelds.org>
5 This file is part of the KDE libraries 5 =. Based on KProcess (C) 1997 Christian Czezatke (e9025461@student.tuwien.ac.at)
6 Copyright (C) 1997 Christian Czezatke (e9025461@student.tuwien.ac.at) 6 .=l.
7 7          .>+-=
8 This library is free software; you can redistribute it and/or 8_;:,     .>    :=|. This program is free software; you can
9 modify it under the terms of the GNU Library General Public 9.> <`_,   >  .   <= redistribute it and/or modify it under
10 License as published by the Free Software Foundation; either 10:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
11 version 2 of the License, or (at your option) any later version. 11.="- .-=="i,     .._ License as published by the Free Software
12 12- .   .-<_>     .<> Foundation; either version 2 of the License,
13 This library is distributed in the hope that it will be useful, 13    ._= =}       : or (at your option) any later version.
14 but WITHOUT ANY WARRANTY; without even the implied warranty of 14   .%`+i>       _;_.
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15   .i_,=:_.      -<s. This program is distributed in the hope that
16 Library General Public License for more details. 16    +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
17 17   : ..    .:,     . . . without even the implied warranty of
18 You should have received a copy of the GNU Library General Public License 18   =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
19 along with this library; see the file COPYING.LIB. If not, write to 19 _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 20..}^=.=       =       ; Library General Public License for more
21++=   -.     .`     .: details.
22:     =  ...= . :.=-
23-.   .:....=;==+<; You should have received a copy of the GNU
24 -_. . .   )=.  = Library General Public License along with
25   --        :-=` this library; see the file COPYING.LIB.
26 If not, write to the Free Software Foundation,
27 Inc., 59 Temple Place - Suite 330,
21 Boston, MA 02111-1307, USA. 28 Boston, MA 02111-1307, USA.
22
23*/ 29*/
24 30
25
26//
27// KPROCESS -- A class for handling child processes in KDE without
28// having to take care of Un*x specific implementation details
29//
30// version 0.3.1, Jan 8th 1998
31//
32// (C) Christian Czezatke
33// e9025461@student.tuwien.ac.at
34//
35// Changes:
36//
37// March 2nd, 1998: Changed parameter list for KShellProcess:
38// Arguments are now placed in a single string so that
39// <shell> -c <commandstring> is passed to the shell
40// to make the use of "operator<<" consistent with KProcess
41//
42//
43// Ported by Holger Freyther
44// <zekce> Harlekin: oprocess and say it was ported to Qt by the Opie developers an Qt 2
45
46
47
48#include "oprocess.h"
49#define _MAY_INCLUDE_KPROCESSCONTROLLER_
50#include "oprocctrl.h" 31#include "oprocctrl.h"
51 32
52//#include <config.h> 33/* OPIE */
34#include <opie2/oprocess.h>
35
36/* QT */
53 37
38#include <qapplication.h>
54#include <qfile.h> 39#include <qfile.h>
55#include <qsocketnotifier.h> 40#include <qmap.h>
56#include <qregexp.h> 41#include <qregexp.h>
42#include <qsocketnotifier.h>
57 43
58#include <sys/time.h> 44/* STD */
59#include <sys/types.h>
60#include <sys/stat.h>
61#include <sys/socket.h>
62
63#include <errno.h> 45#include <errno.h>
64#include <fcntl.h> 46#include <fcntl.h>
47#include <pwd.h>
65#include <stdlib.h> 48#include <stdlib.h>
@@ -68,2 +51,6 @@
68#include <string.h> 51#include <string.h>
52#include <sys/time.h>
53#include <sys/types.h>
54#include <sys/stat.h>
55#include <sys/socket.h>
69#include <unistd.h> 56#include <unistd.h>
@@ -75,11 +62,2 @@
75#endif 62#endif
76#include <pwd.h>
77
78#include <qapplication.h>
79#include <qmap.h>
80//#include <kdebug.h>
81
82/////////////////////////////
83// public member functions //
84/////////////////////////////
85 63
@@ -88,3 +66,4 @@ class OProcessPrivate
88public: 66public:
89 OProcessPrivate() : useShell(false) { } 67 OProcessPrivate() : useShell( false )
68 { }
90 69
@@ -145,4 +124,3 @@ void OProcess::init ( )
145 124
146void 125void OProcess::setEnvironment( const QString &name, const QString &value )
147OProcess::setEnvironment(const QString &name, const QString &value)
148{ 126{
@@ -153,4 +131,3 @@ OProcess::setEnvironment(const QString &name, const QString &value)
153 131
154void 132void OProcess::setWorkingDirectory( const QString &dir )
155OProcess::setWorkingDirectory(const QString &dir)
156{ 133{
@@ -161,4 +138,3 @@ OProcess::setWorkingDirectory(const QString &dir)
161 138
162void 139void OProcess::setupEnvironment()
163OProcess::setupEnvironment()
164{ 140{
@@ -175,4 +151,3 @@ OProcess::setupEnvironment()
175 151
176void 152void OProcess::setRunPrivileged( bool keepPrivileges )
177OProcess::setRunPrivileged(bool keepPrivileges)
178{ 153{
@@ -181,4 +156,3 @@ OProcess::setRunPrivileged(bool keepPrivileges)
181 156
182bool 157bool OProcess::runPrivileged() const
183OProcess::runPrivileged() const
184{ 158{
@@ -187,3 +161,2 @@ OProcess::runPrivileged() const
187 161
188
189OProcess::~OProcess() 162OProcess::~OProcess()
@@ -226,5 +199,7 @@ bool OProcess::setExecutable(const QString& proc)
226{ 199{
227 if (runs) return false; 200 if ( runs )
201 return false;
228 202
229 if (proc.isEmpty()) return false; 203 if ( proc.isEmpty() )
204 return false;
230 205
@@ -318,2 +293,3 @@ bool OProcess::start(RunMode runmode, Communication comm)
318#ifdef HAVE_INITGROUPS 293#ifdef HAVE_INITGROUPS
294
319 struct passwd *pw = getpwuid(uid); 295 struct passwd *pw = getpwuid(uid);
@@ -343,2 +319,3 @@ bool OProcess::start(RunMode runmode, Communication comm)
343#if defined( HAVE_INITGROUPS) 319#if defined( HAVE_INITGROUPS)
320
344 if(pw) 321 if(pw)
@@ -346,2 +323,3 @@ bool OProcess::start(RunMode runmode, Communication comm)
346#endif 323#endif
324
347 setuid(uid); 325 setuid(uid);
@@ -393,3 +371,4 @@ bool OProcess::start(RunMode runmode, Communication comm)
393 // Check whether client could be started. 371 // Check whether client could be started.
394 if (fd[0]) for(;;) 372 if ( fd[ 0 ] )
373 for ( ;; )
395 { 374 {
@@ -450,4 +429,2 @@ bool OProcess::kill(int signo)
450 429
451
452
453bool OProcess::isRunning() const 430bool OProcess::isRunning() const
@@ -457,4 +434,2 @@ bool OProcess::isRunning() const
457 434
458
459
460pid_t OProcess::pid() const 435pid_t OProcess::pid() const
@@ -464,4 +439,2 @@ pid_t OProcess::pid() const
464 439
465
466
467bool OProcess::normalExit() const 440bool OProcess::normalExit() const
@@ -472,4 +445,2 @@ bool OProcess::normalExit() const
472 445
473
474
475int OProcess::exitStatus() const 446int OProcess::exitStatus() const
@@ -480,4 +451,2 @@ int OProcess::exitStatus() const
480 451
481
482
483bool OProcess::writeStdin(const char *buffer, int buflen) 452bool OProcess::writeStdin(const char *buffer, int buflen)
@@ -585,9 +554,2 @@ bool OProcess::closeStderr()
585 554
586
587/////////////////////////////
588// protected slots //
589/////////////////////////////
590
591
592
593void OProcess::slotChildOutput(int fdno) 555void OProcess::slotChildOutput(int fdno)
@@ -598,3 +560,2 @@ void OProcess::slotChildOutput(int fdno)
598 560
599
600void OProcess::slotChildError(int fdno) 561void OProcess::slotChildError(int fdno)
@@ -605,3 +566,2 @@ void OProcess::slotChildError(int fdno)
605 566
606
607void OProcess::slotSendData(int) 567void OProcess::slotSendData(int)
@@ -618,10 +578,2 @@ void OProcess::slotSendData(int)
618 578
619
620
621//////////////////////////////
622// private member functions //
623//////////////////////////////
624
625
626
627void OProcess::processHasExited(int state) 579void OProcess::processHasExited(int state)
@@ -643,4 +595,2 @@ void OProcess::processHasExited(int state)
643 595
644
645
646int OProcess::childOutput(int fdno) 596int OProcess::childOutput(int fdno)
@@ -669,4 +619,2 @@ int OProcess::childOutput(int fdno)
669 619
670
671
672int OProcess::childError(int fdno) 620int OProcess::childError(int fdno)
@@ -683,4 +631,2 @@ int OProcess::childError(int fdno)
683 631
684
685
686int OProcess::setupCommunication(Communication comm) 632int OProcess::setupCommunication(Communication comm)
@@ -704,4 +650,2 @@ int OProcess::setupCommunication(Communication comm)
704 650
705
706
707int OProcess::commSetupDoneP() 651int OProcess::commSetupDoneP()
@@ -721,3 +665,4 @@ int OProcess::commSetupDoneP()
721 // blocking is requested. 665 // blocking is requested.
722 if (run_mode == Block) return ok; 666 if ( run_mode == Block )
667 return ok;
723 668
@@ -756,4 +701,2 @@ int OProcess::commSetupDoneP()
756 701
757
758
759int OProcess::commSetupDoneC() 702int OProcess::commSetupDoneC()
@@ -804,4 +747,2 @@ int OProcess::commSetupDoneC()
804 747
805
806
807void OProcess::commClose() 748void OProcess::commClose()
@@ -867,3 +808,4 @@ void OProcess::commClose()
867 fds_ready = select(max_fd+1, &rfds, 0, 0, p_timeout); 808 fds_ready = select(max_fd+1, &rfds, 0, 0, p_timeout);
868 if (fds_ready <= 0) break; 809 if ( fds_ready <= 0 )
810 break;
869 811
@@ -872,3 +814,4 @@ void OProcess::commClose()
872 int ret = 1; 814 int ret = 1;
873 while (ret > 0) ret = childOutput(out[0]); 815 while ( ret > 0 )
816 ret = childOutput( out[ 0 ] );
874 if ((ret == -1 && errno != EAGAIN) || ret == 0) 817 if ((ret == -1 && errno != EAGAIN) || ret == 0)
@@ -880,3 +823,4 @@ void OProcess::commClose()
880 int ret = 1; 823 int ret = 1;
881 while (ret > 0) ret = childError(err[0]); 824 while ( ret > 0 )
825 ret = childError( err[ 0 ] );
882 if ((ret == -1 && errno != EAGAIN) || ret == 0) 826 if ((ret == -1 && errno != EAGAIN) || ret == 0)
@@ -940,3 +884,4 @@ bool OProcess::isExecutable(const QCString &filename)
940 884
941 if (filename.isEmpty()) return false; 885 if ( filename.isEmpty() )
886 return false;
942 887
@@ -944,3 +889,4 @@ bool OProcess::isExecutable(const QCString &filename)
944 889
945 if (-1 == stat(filename.data(), &fileinfo)) return false; 890 if ( -1 == stat( filename.data(), &fileinfo ) )
891 return false;
946 // CC: return false if the file does not exist 892 // CC: return false if the file does not exist
@@ -962,3 +908,4 @@ bool OProcess::isExecutable(const QCString &filename)
962 // CC: now check for permission to execute the file 908 // CC: now check for permission to execute the file
963 if (access(filename.data(), X_OK) != 0) return false; 909 if ( access( filename.data(), X_OK ) != 0 )
910 return false;
964 911
@@ -968,3 +915 @@ bool OProcess::isExecutable(const QCString &filename)
968
969
970
diff --git a/libopie2/opiecore/oprocess.h b/libopie2/opiecore/oprocess.h
index 8dd19b5..352485b 100644
--- a/libopie2/opiecore/oprocess.h
+++ b/libopie2/opiecore/oprocess.h
@@ -1,33 +1,40 @@
1/* This file is part of the KDE libraries 1/*
2 Copyright (C) 1997 Christian Czezakte (e9025461@student.tuwien.ac.at) 2                This file is part of the Opie Project
3 3             Copyright (C) 2003-2004 Holger Freyther <zecke@handhelds.org>
4 This library is free software; you can redistribute it and/or 4 Copyright (C) The Opie Team <opie-devel@handhelds.org>
5 modify it under the terms of the GNU Library General Public 5 =. Based on KProcess (C) 1997 Christian Czezatke (e9025461@student.tuwien.ac.at)
6 License as published by the Free Software Foundation; either 6 .=l.
7 version 2 of the License, or (at your option) any later version. 7          .>+-=
8 8_;:,     .>    :=|. This program is free software; you can
9 This library is distributed in the hope that it will be useful, 9.> <`_,   >  .   <= redistribute it and/or modify it under
10 but WITHOUT ANY WARRANTY; without even the implied warranty of 10:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11.="- .-=="i,     .._ License as published by the Free Software
12 Library General Public License for more details. 12- .   .-<_>     .<> Foundation; either version 2 of the License,
13 13    ._= =}       : or (at your option) any later version.
14 You should have received a copy of the GNU Library General Public License 14   .%`+i>       _;_.
15 along with this library; see the file COPYING.LIB. If not, write to 15   .i_,=:_.      -<s. This program is distributed in the hope that
16 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 16    +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
17   : ..    .:,     . . . without even the implied warranty of
18   =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
19 _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
20..}^=.=       =       ; Library General Public License for more
21++=   -.     .`     .: details.
22:     =  ...= . :.=-
23-.   .:....=;==+<; You should have received a copy of the GNU
24 -_. . .   )=.  = Library General Public License along with
25   --        :-=` this library; see the file COPYING.LIB.
26 If not, write to the Free Software Foundation,
27 Inc., 59 Temple Place - Suite 330,
17 Boston, MA 02111-1307, USA. 28 Boston, MA 02111-1307, USA.
18*/ 29*/
19//
20// KPROCESS -- A class for handling child processes in KDE without
21// having to take care of Un*x specific implementation details
22//
23// version 0.3.1, Jan 8th 1998
24//
25// (C) Christian Czezatke
26// e9025461@student.tuwien.ac.at
27// Ported by Holger Freyther to the Open Palmtop Integrated Environment
28//
29 30
30#ifndef __kprocess_h__ 31#ifndef OPROCESS_H
31#define __kprocess_h__ 32#define OPROCESS_H
33
34/* QT */
35#include <qcstring.h>
36#include <qobject.h>
37#include <qvaluelist.h>
32 38
39/* STD */
33#include <sys/types.h> // for pid_t 40#include <sys/types.h> // for pid_t
@@ -36,5 +43,2 @@
36#include <unistd.h> 43#include <unistd.h>
37#include <qvaluelist.h>
38#include <qcstring.h>
39#include <qobject.h>
40 44
@@ -143,3 +147,3 @@ class OProcessPrivate;
143 *@author Christian Czezakte e9025461@student.tuwien.ac.at 147 *@author Christian Czezakte e9025461@student.tuwien.ac.at
144 * 148 *@author Holger Freyther (Opie Port)
145 * 149 *
@@ -397,3 +401,6 @@ public:
397 401
398 const QValueList<QCString> &args() { return arguments; } 402 const QValueList<QCString> &args()
403 {
404 return arguments;
405 }
399 406
@@ -456,4 +463,2 @@ public:
456 463
457
458
459signals: 464signals:
@@ -524,3 +529,2 @@ signals:
524 529
525
526protected slots: 530protected slots:
@@ -711,3 +715,2 @@ protected:
711 715
712
713private: 716private:
@@ -739,3 +742,2 @@ private:
739 void init ( ); 742 void init ( );
740
741 OProcessPrivate *d; 743 OProcessPrivate *d;
@@ -743,4 +745,2 @@ private:
743 745
744
745
746#endif 746#endif