qscan345thread.cpp

Go to the documentation of this file.
00001 #include "qscan345thread.h"
00002 #include "qscan345application.h"
00003 #include "qscan345mainwindow.h"
00004 #include "qscan345controller.h"
00005 #include "qscan345server.h"
00006 
00007 QScan345Thread::QScan345Thread(QScan345Application *app, QScan345MainWindow *win, QObject *parent)
00008   : QThread(parent),
00009     m_Application(app),
00010     m_MainWindow(win),
00011     m_Server(NULL),
00012     m_Controller(NULL)
00013 {
00014 }
00015 
00016 QScan345Thread::~QScan345Thread()
00017 {
00018   shutdown();
00019 
00020   delete m_Server;
00021   delete m_Controller;
00022 }
00023 
00024 void QScan345Thread::run()
00025 {
00026   m_Server = new QScan345Server(m_MainWindow);
00027   m_Server -> startServer(QHostAddress::LocalHost, 10345);
00028   
00029   m_Controller = new QScan345Controller(m_MainWindow, m_Server, NULL);
00030 
00031   emit serverRunning();
00032 
00033   exec();
00034 }
00035 
00036 void QScan345Thread::shutdown()
00037 {
00038   exit();
00039 
00040   wait(1000);
00041 }