- Added buildconf.pri to hold the master-level build options.
[qtrapids] / src / engine / AlertWaiterThread.h
index 5ba3bf6..7d14ef9 100644 (file)
@@ -21,6 +21,8 @@
 #define ALERTWAITERTHREAD_H
 
 #include <QThread>
+#include "QBittorrentSession.h"
+
 
 /**
        @author Lassi Väätämöinen <lassi.vaatamoinen@ixonos.com>
@@ -30,17 +32,23 @@ class AlertWaiterThread : public QThread
        Q_OBJECT
        
        public:
-               AlertWaiterThread(QObject* parent = 0);
+               AlertWaiterThread(TorrentSession *const session, QObject *parent = 0);
 
-    ~AlertWaiterThread();
+    virtual ~AlertWaiterThread();
 
-               void run(); // Overridden from QThread
+               void allAlerts(bool enable = true);
+               
+               virtual void run(); // Overridden from QThread
                
        signals:
-               void alert();
+               /// @TODO alert() uses direct connection, so th connected slot is executed by AlertWaiterThread
+               /// Hence, QMutex is needed in receiver slot/thread for thread-safety.
+               /// @NOTE Alternatively, we could use an event loop in the thread and use queued signal (is it heavier?)
+               void alert(Alert const *alert);
                
        private:
-               
+               TorrentSession *const btSession_;
+
 };
 
 #endif