qpidctrl  0.7.1
qpidloggerthread.cpp
Go to the documentation of this file.
1 #include "qpidloggerthread.h"
2 #include "qpiddebug.h"
3 #include "qpidcontroller.h"
4 #include "qpidlogger.h"
5 
6 QPidLoggerThread::QPidLoggerThread(QcepSettingsSaverWPtr saver, QPidControllerWPtr ctrl) :
7  m_Saver(saver),
8  m_Controller(ctrl)
9 {
10 }
11 
13 {
14  exit();
15 
16  wait();
17 }
18 
20 {
21  while (isRunning() && m_Logger == NULL) {
22  QThread::msleep(100);
23  }
24 
25  return m_Logger;
26 }
27 
29 {
30  {
32 
33  if (ctl && qcepDebug(DEBUG_THREADS)) {
34  ctl->printMessage("Starting Logger Thread");
35  }
36  }
37 
39 
40  int rc = -1;
41 
42  if (logger) {
43  m_Logger = logger;
44 
45  rc = exec();
46  }
47 
48  {
50 
51  if (ctl && qcepDebug(DEBUG_THREADS)) {
52  ctl->printMessage(tr("Server Thread Terminated with rc %1").arg(rc));
53  }
54  }
55 }
QPidLoggerPtr m_Logger
QWeakPointer< QPidController > QPidControllerWPtr
QSharedPointer< QPidLogger > QPidLoggerPtr
Definition: qpidlogger-ptr.h:6
virtual ~QPidLoggerThread()
QSharedPointer< QPidController > QPidControllerPtr
QPidLoggerThread(QcepSettingsSaverWPtr saver, QPidControllerWPtr ctrl)
QPidLoggerPtr logger() const
QPidControllerWPtr m_Controller
QcepSettingsSaverWPtr m_Saver