##// END OF EJS Templates
Refactoring of app module to avoir vera++ warning and to dispatch sources files in the corrects paths
Refactoring of app module to avoir vera++ warning and to dispatch sources files in the corrects paths

File last commit:

r53:289a78f309b1
r54:7bf435c144fc
Show More
SqpApplication.cpp
69 lines | 2.2 KiB | text/x-c | CppLexer
/ gui / src / SqpApplication.cpp
Initialisation de l'application multithread avec le spimpl....
r21 #include "SqpApplication.h"
#include <DataSource/DataSourceController.h>
#include <QThread>
Add the visualization controller
r53 #include <Visualization/VisualizationController.h>
Initialisation de l'application multithread avec le spimpl....
r21
Q_LOGGING_CATEGORY(LOG_SqpApplication, "SqpApplication")
class SqpApplication::SqpApplicationPrivate {
public:
Alexandre Leroux
Minor fixes...
r32 SqpApplicationPrivate() : m_DataSourceController{std::make_unique<DataSourceController>()}
{
m_DataSourceController->moveToThread(&m_DataSourceControllerThread);
}
Ajout des règles vera++
r24 virtual ~SqpApplicationPrivate()
Ajout de la méthode wait pour éviter de détruire un thread en cours...
r22 {
Alexandre Leroux
Minor fixes...
r32 qCInfo(LOG_SqpApplication()) << tr("SqpApplicationPrivate destruction");
Ajout de la méthode wait pour éviter de détruire un thread en cours...
r22 m_DataSourceControllerThread.quit();
m_DataSourceControllerThread.wait();
Add the visualization controller
r53
m_VisualizationThread.quit();
m_VisualizationThread.wait();
Ajout de la méthode wait pour éviter de détruire un thread en cours...
r22 }
Initialisation de l'application multithread avec le spimpl....
r21
std::unique_ptr<DataSourceController> m_DataSourceController;
Add the visualization controller
r53 std::unique_ptr<VisualizationController> m_VisualizationController;
Initialisation de l'application multithread avec le spimpl....
r21 QThread m_DataSourceControllerThread;
Add the visualization controller
r53 QThread m_VisualizationThread;
Initialisation de l'application multithread avec le spimpl....
r21 };
SqpApplication::SqpApplication(int &argc, char **argv)
Alexandre Leroux
Minor fixes...
r32 : QApplication{argc, argv}, impl{spimpl::make_unique_impl<SqpApplicationPrivate>()}
Initialisation de l'application multithread avec le spimpl....
r21 {
Alexandre Leroux
Minor fixes...
r32 qCInfo(LOG_SqpApplication()) << tr("SqpApplication construction");
Initialisation de l'application multithread avec le spimpl....
r21
connect(&impl->m_DataSourceControllerThread, &QThread::started,
impl->m_DataSourceController.get(), &DataSourceController::initialize);
connect(&impl->m_DataSourceControllerThread, &QThread::finished,
impl->m_DataSourceController.get(), &DataSourceController::finalize);
Add the visualization controller
r53 connect(&impl->m_VisualizationThread, &QThread::started, impl->m_VisualizationController.get(),
&VisualizationController::initialize);
connect(&impl->m_VisualizationThread, &QThread::finished, impl->m_VisualizationController.get(),
&VisualizationController::finalize);
Initialisation de l'application multithread avec le spimpl....
r21 impl->m_DataSourceControllerThread.start();
Add the visualization controller
r53 impl->m_VisualizationThread.start();
Initialisation de l'application multithread avec le spimpl....
r21 }
SqpApplication::~SqpApplication()
{
}
void SqpApplication::initialize()
{
}
Alexandre Leroux
Add access to DataSourceController from SqpApplication
r33
DataSourceController &SqpApplication::dataSourceController() const noexcept
{
return *impl->m_DataSourceController;
}
Add the visualization controller
r53
VisualizationController &SqpApplication::visualizationController() const noexcept
{
return *impl->m_VisualizationController;
}