-Added QTorrentHandle and started torrent adding implementation
[qtrapids] / src / engine / AlertWaiterThread.cpp
index 7a2f90f..9b6e741 100644 (file)
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 
+
 #include <QDebug>
 
 #include "AlertWaiterThread.h"
 
-AlertWaiterThread::AlertWaiterThread(QObject* parent): QThread(parent)
+// Constants:
+// Timeout for waiting alerts
+const libtorrent::time_duration ALERT_WAIT_TIMEOUT 
+               = libtorrent::time_duration(libtorrent::seconds(15));
+
+
+AlertWaiterThread::AlertWaiterThread(TorrentSession *const session, QObject* parent) : 
+               QThread(parent),
+               btSession_(session)
 {
 }
 
@@ -34,18 +43,15 @@ AlertWaiterThread::~AlertWaiterThread()
 
 void AlertWaiterThread::run()
 {
+       TorrentAlert const *alertTemp = NULL;
        while (true)
        {
                qDebug() << "AlertWaiter running";
-               emit alert();
-               sleep(2);
+               // wait_for_alert() returns libtorrent alert. 
+               // Returns NULL, if no alerts in timeout period.
+               alertTemp = btSession_->wait_for_alert(ALERT_WAIT_TIMEOUT);
+               emit alert(alertTemp);
        }
 }
 
 
-// =================== SIGNALS =======================
-// AlertWaiterThread::alert()
-// {
-// }
-
-