- Fixes: Restoring download rate setting on startup. Rate setting spinbox initial...
[qtrapids] / src / engine / AlertWaiterThread.h
index 0a2209a..5c4af3f 100644 (file)
 class AlertWaiterThread : public QThread
 {
        Q_OBJECT
-       
-       public:
-               AlertWaiterThread(TorrentSession *const session, QObject *parent = 0);
-
-    virtual ~AlertWaiterThread();
-
-               virtual void run(); // Overridden from QThread
-               
-       signals:
-               void alert(TorrentAlert const *alert);
-               
-       private:
-               TorrentSession *const btSession_;
+
+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_;
 
 };