##// END OF EJS Templates
Really basic implementation of Downloader which might replace current...
Really basic implementation of Downloader which might replace current NetworkController It is currently really basic, it only does synchronous DLs with or without authentication. It is written to isolate as much as possible Qt Network classes. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r1213:2785fa3e9772
r1342:91cbf8a85daf
Show More
SignalWaiter.cpp
36 lines | 641 B | text/x-c | CppLexer
#include "Common/SignalWaiter.h"
#include <QTimer>
namespace {
const auto DEFAULT_TIMEOUT = 30000;
} // namespace
SignalWaiter::SignalWaiter(QObject &sender, const char *signal) : m_Timeout{false}
{
connect(&sender, signal, &m_EventLoop, SLOT(quit()));
}
bool SignalWaiter::wait(int timeout)
{
if (timeout == 0) {
timeout = DEFAULT_TIMEOUT;
}
QTimer timer{};
timer.setInterval(timeout);
timer.start();
connect(&timer, &QTimer::timeout, this, &SignalWaiter::timeout);
m_EventLoop.exec();
return !m_Timeout;
}
void SignalWaiter::timeout()
{
m_Timeout = true;
m_EventLoop.quit();
}