00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef LSFQUEUEINTERFACE_H
00018 #define LSFQUEUEINTERFACE_H
00019
00020 #ifdef ENABLE_SSH
00021
00022
00024
00025 #include <globalsearch/queueinterfaces/lsfdialog.h>
00026 #include <globalsearch/queueinterfaces/remote.h>
00027
00028 #include <QtCore/QDateTime>
00029 #include <QtCore/QReadWriteLock>
00030 #include <QtCore/QString>
00031 #include <QtCore/QStringList>
00032
00033 namespace GlobalSearch {
00034
00035 class LsfQueueInterface : public RemoteQueueInterface
00036 {
00037 Q_OBJECT;
00038
00039 public:
00040 explicit LsfQueueInterface(OptBase *parent,
00041 const QString &settingsFile = "");
00042
00043 virtual ~LsfQueueInterface();
00044
00045 virtual bool isReadyToSearch(QString *str);
00046
00047 QDialog* dialog();
00048
00049 friend class LsfConfigDialog;
00050
00051 public slots:
00052 void readSettings(const QString &filename = "");
00053 void writeSettings(const QString &filename = "");
00054 bool startJob(Structure *s);
00055 bool stopJob(Structure *s);
00056 QueueInterface::QueueStatus getStatus(Structure *s) const;
00057
00058 protected:
00059
00060 QStringList getQueueList() const;
00061
00062 QStringList m_queueData;
00063
00064 QDateTime m_queueTimeStamp;
00065
00066 QReadWriteLock m_queueMutex;
00067
00068 QString m_bjobs;
00069 QString m_bsub;
00070 QString m_bkill;
00071
00072 bool m_cleanRemoteOnStop;
00073 };
00074 }
00075
00076 #endif // ENABLE_SSH
00077 #endif // LSFQUEUEINTERFACE_H
00078
00079