##// END OF EJS Templates
Merge pull request 133 from SCIQLOP-Initialisation feature/StandardQtForLinux...
Merge pull request 133 from SCIQLOP-Initialisation feature/StandardQtForLinux Feature/StandardQtForLinux

File last commit:

r25:bbb3a36891b9
r31:77f9210cef5f merge
Show More
DataSourceController.cpp
48 lines | 1.4 KiB | text/x-c | CppLexer
/ core / src / DataSource / DataSourceController.cpp
Initialisation de l'application multithread avec le spimpl....
r21 #include "DataSource/DataSourceController.h"
#include <QMutex>
#include <QThread>
Ajout du logger compatible Linux à la compilation.
r25 #include <QDir>
#include <QStandardPaths>
Q_LOGGING_CATEGORY(LOG_DataSourceController, "DataSourceController")
Initialisation de l'application multithread avec le spimpl....
r21
class DataSourceController::DataSourceControllerPrivate {
public:
DataSourceControllerPrivate() {}
QMutex m_WorkingMutex;
};
DataSourceController::DataSourceController(QObject *parent)
: impl{spimpl::make_unique_impl<DataSourceControllerPrivate>()}
{
Ajout de la méthode wait pour éviter de détruire un thread en cours...
r22 qCDebug(LOG_DataSourceController()) << tr("Construction du DataSourceController")
<< QThread::currentThread();
Initialisation de l'application multithread avec le spimpl....
r21 }
DataSourceController::~DataSourceController()
{
Ajout de la méthode wait pour éviter de détruire un thread en cours...
r22 qCDebug(LOG_DataSourceController()) << tr("Desctruction du DataSourceController")
<< QThread::currentThread();
Initialisation de l'application multithread avec le spimpl....
r21 this->waitForFinish();
}
void DataSourceController::initialize()
{
Ajout de la méthode wait pour éviter de détruire un thread en cours...
r22 qCDebug(LOG_DataSourceController()) << tr("initialize du DataSourceController")
<< QThread::currentThread();
Initialisation de l'application multithread avec le spimpl....
r21 impl->m_WorkingMutex.lock();
Ajout de la méthode wait pour éviter de détruire un thread en cours...
r22 qCDebug(LOG_DataSourceController()) << tr("initialize du DataSourceController END");
Initialisation de l'application multithread avec le spimpl....
r21 }
void DataSourceController::finalize()
{
impl->m_WorkingMutex.unlock();
}
void DataSourceController::waitForFinish()
{
QMutexLocker locker(&impl->m_WorkingMutex);
}