##// END OF EJS Templates
Adds the ability to force an acquisition pending for an operation (3)...
Adds the ability to force an acquisition pending for an operation (3) Forces to wait acquisition when creating a variable

File last commit:

r174:992eeb099247
r1251:6cdc10030ad4
Show More
VisualizationController.cpp
48 lines | 1.4 KiB | text/x-c | CppLexer
/ core / src / Visualization / VisualizationController.cpp
#include <Visualization/VisualizationController.h>
#include <Variable/Variable.h>
#include <QMutex>
#include <QThread>
#include <QDir>
#include <QStandardPaths>
Q_LOGGING_CATEGORY(LOG_VisualizationController, "VisualizationController")
class VisualizationController::VisualizationControllerPrivate {
public:
QMutex m_WorkingMutex;
};
VisualizationController::VisualizationController(QObject *parent)
: impl{spimpl::make_unique_impl<VisualizationControllerPrivate>()}
{
qCDebug(LOG_VisualizationController()) << tr("VisualizationController construction")
<< QThread::currentThread();
}
VisualizationController::~VisualizationController()
{
qCDebug(LOG_VisualizationController()) << tr("VisualizationController destruction")
<< QThread::currentThread();
this->waitForFinish();
}
void VisualizationController::initialize()
{
qCDebug(LOG_VisualizationController()) << tr("VisualizationController init")
<< QThread::currentThread();
impl->m_WorkingMutex.lock();
qCDebug(LOG_VisualizationController()) << tr("VisualizationController init END");
}
void VisualizationController::finalize()
{
impl->m_WorkingMutex.unlock();
}
void VisualizationController::waitForFinish()
{
QMutexLocker locker{&impl->m_WorkingMutex};
}