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 }