/* # Copyright (c) 2009 - OpenSLX Project, Computer Center University of Freiburg # # This program is free software distributed under the GPL version 2. # See http://openslx.org/COPYING # # If you have any feedback please consult http://openslx.org/feedback and # send your suggestions, praise, or complaints to feedback@openslx.org # # General information about OpenSLX can be found at http://openslx.org/ # ----------------------------------------------------------------------------- # src/net/SslServer.cpp # - provide QTcpServer-like behaviour for SSL # ----------------------------------------------------------------------------- */ #ifndef SSLSERVER_H_ #define SSLSERVER_H_ #include #include #include class QSslSocket; /** * Class for handling ssl server connections. */ class SslServer : public QTcpServer { Q_OBJECT private Q_SLOTS: void sslErrors ( const QList & errors ); void sock_closed(); void sock_error(QAbstractSocket::SocketError err); public: SslServer(); virtual ~SslServer(); virtual bool hasPendingConnections () const; // This one has to return a TcpSocket as we're overwriting from the base class // just cast it to QSslSocket later virtual QTcpSocket* nextPendingConnection(); protected: void incomingConnection(qintptr handle); void timerEvent(QTimerEvent* event); QList _pending; QList _delete; int _tmr; }; #endif /* SSLSERVER_H_ */