qpidctrl  0.7.1
qpidserverthread.cpp
Go to the documentation of this file.
1 #include "qpidserverthread.h"
2 
3 #include "qpidserver.h"
4 #include <QMetaObject>
5 #include <QDateTime>
6 #include "qpidcontroller.h"
7 #include "qpiddebug.h"
8 
9 QPidServerThread::QPidServerThread(QcepSettingsSaverWPtr saver, QPidControllerWPtr ctrl) :
10  m_Saver(saver),
11  m_Controller(ctrl),
12  m_Server(NULL)
13 {
14  if (qcepDebug(DEBUG_CONSTRUCTORS)) {
15  printf("QPidServerThread::QPidServerThread(%p)\n", this);
16  }
17 }
18 
20 {
21  shutdown();
22 
23  if (qcepDebug(DEBUG_CONSTRUCTORS)) {
24  printf("QPidServerThread::~QPidServerThread(%p)\n", this);
25  }
26 }
27 
29 {
30  while (isRunning() && m_Server == NULL) {
31  QThread::msleep(50);
32  }
33 
34  return m_Server;
35 }
36 
38 {
39  exit();
40 
41  wait();
42 }
43 
45 {
46  {
48 
49  if (ctl && qcepDebug(DEBUG_THREADS)) {
50  ctl->printMessage("Starting Server Thread");
51  }
52 
54 
55  if (server) {
56  m_Server = server;
57  }
58  }
59 
60  int rc = exec();
61 
62  {
64 
65  if (ctrl && qcepDebug(DEBUG_THREADS)) {
66  ctrl->printMessage(tr("Server Thread Terminated with rc %1").arg(rc));
67  }
68  }
69 }
70 
72 {
73  emit execute(cmd);
74 }
QPidServerPtr server() const
QWeakPointer< QPidController > QPidControllerWPtr
QPidServerPtr m_Server
void executeScript(QString cmd)
QcepSettingsSaverWPtr m_Saver
QSharedPointer< QPidController > QPidControllerPtr
void execute(QString cmd)
QPidServerThread(QcepSettingsSaverWPtr saver, QPidControllerWPtr doc)
QSharedPointer< QPidServer > QPidServerPtr
Definition: qpidserver-ptr.h:6
QPidControllerWPtr m_Controller