formatting is changed according to last astyle settings
[qtrapids] / src / engine / AlertWaiterThread.h
index 5ba3bf6..5c4af3f 100644 (file)
@@ -21,6 +21,8 @@
 #define ALERTWAITERTHREAD_H
 
 #include <QThread>
+#include "QBittorrentSession.h"
+
 
 /**
        @author Lassi Väätämöinen <lassi.vaatamoinen@ixonos.com>
 class AlertWaiterThread : public QThread
 {
        Q_OBJECT
-       
-       public:
-               AlertWaiterThread(QObject* parent = 0);
-
-    ~AlertWaiterThread();
-
-               void run(); // Overridden from QThread
-               
-       signals:
-               void alert();
-               
-       private:
-               
+
+public:
+       AlertWaiterThread(TorrentSession *const session, QObject *parent = 0);
+
+       virtual ~AlertWaiterThread();
+
+       void allAlerts(bool enable = true);
+
+       virtual void run(); // Overridden from QThread
+
+signals:
+       /// @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