00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef SSHMANAGER_H
00016 #define SSHMANAGER_H
00017
00018 #ifdef ENABLE_SSH
00019
00020 #include <globalsearch/sshconnection.h>
00021
00022 #include <QtCore/QHash>
00023 #include <QtCore/QObject>
00024 #include <QtCore/QMutex>
00025 #include <QtCore/QSemaphore>
00026
00027 namespace GlobalSearch {
00028 class OptBase;
00029
00037 class SSHManager : public QObject
00038 {
00039 Q_OBJECT
00040
00041 public:
00048 explicit SSHManager(OptBase *parent = 0);
00049
00053 virtual ~SSHManager();
00054
00060 virtual void makeConnections(const QString &host,
00061 const QString &user = "",
00062 const QString &pass = "",
00063 unsigned int port = 22);
00064
00066 QString getUser() {return m_user;};
00067
00069 QString getHost() {return m_host;};
00070
00072 int getPort() {return m_port;};
00073
00074 public slots:
00079 virtual SSHConnection *getFreeConnection() = 0;
00080
00085 virtual void unlockConnection(SSHConnection* ssh) = 0;
00086
00087 protected:
00089 QString m_host;
00091 QString m_user;
00093 unsigned int m_port;
00094 };
00095
00096 }
00097
00098 #endif // ENABLE_SSH
00099 #endif // SSHMANAGER_H