diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 4aed2c8219774f5d797760606b8489a92ddc5163 (patch) | |
tree | 3f8c130f7d269626bf6a9447407ef6c35954426a /kdesu/kdesud/handler.h | |
download | tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kdesu/kdesud/handler.h')
-rw-r--r-- | kdesu/kdesud/handler.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/kdesu/kdesud/handler.h b/kdesu/kdesud/handler.h new file mode 100644 index 000000000..acfada51b --- /dev/null +++ b/kdesu/kdesud/handler.h @@ -0,0 +1,52 @@ +/* vi: ts=8 sts=4 sw=4 + * + * This file is part of the KDE project, module kdesu. + * Copyright (C) 1999,2000 Geert Jansen <jansen@kde.org> + */ + +#ifndef __Handler_h_included__ +#define __Handler_h_included__ + +#include <sys/types.h> + +#include <qcstring.h> +#include "secure.h" + +/** + * A ConnectionHandler handles a client. It is called from the main program + * loop whenever there is data to read from a corresponding socket. + * It keeps reading data until a newline is read. Then, a command is parsed + * and executed. + */ + +class ConnectionHandler: public SocketSecurity +{ + +public: + ConnectionHandler(int fd); + ~ConnectionHandler(); + + /** Handle incoming data. */ + int handle(); + + /* Send back exit code. */ + void sendExitCode(); + +private: + enum Results { Res_OK, Res_NO }; + + int doCommand(QCString buf); + void respond(int ok, QCString s=0); + QCString makeKey(int namspace, QCString s1, QCString s2=0, QCString s3=0); + + int m_Fd, m_Timeout; + int m_Priority, m_Scheduler; + QCString m_Buf, m_Pass, m_Host; +public: + int m_exitCode; + bool m_hasExitCode; + bool m_needExitCode; + pid_t m_pid; +}; + +#endif |