QXRD  0.11.16
qxrdacquisitionexecutionthread.cpp
Go to the documentation of this file.
1 #include "qxrddebug.h"
5 #include <stdio.h>
6 #include "qcepmutexlocker.h"
7 
9  : QxrdThread(),
10  m_Acquisition(acq)
11 {
13  printf("QxrdAcquisitionThread::QxrdAcquisitionThread(%p)\n", this);
14  }
15 
16  setObjectName("acqExec");
17 }
18 
20 {
21  shutdown();
22 
24  printf("QxrdAcquisitionThread::~QxrdAcquisitionThread(%p)\n", this);
25  }
26 }
27 
29 {
30  exit();
31 
32  wait();
33 }
34 
36 {
37  if (qcepDebug(DEBUG_THREADS)) {
38  printf("Acquisition Execution Thread Started\n");
39  }
40 
43 
44  int rc = exec();
45 
46  {
47  QcepMutexLocker lock(__FILE__, __LINE__, &m_Mutex);
48 
50  }
51 
52  if (qcepDebug(DEBUG_THREADS)) {
53  printf("Acquisition Execution Thread terminated with rc %d\n", rc);
54  }
55 }
56 
58 {
60  QMetaObject::invokeMethod(m_AcquisitionExecution.data(), "doAcquire");
61  }
62 }
63 
65 {
67  QMetaObject::invokeMethod(m_AcquisitionExecution.data(), "doAcquireDark");
68  }
69 }
QxrdAcquisitionExecutionThread(QxrdAcquisitionInterfaceWPtr acq)
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26
QxrdAcquisitionExecutionPtr m_AcquisitionExecution
QSharedPointer< QxrdAcquisitionExecution > QxrdAcquisitionExecutionPtr
QWeakPointer< QxrdAcquisitionInterface > QxrdAcquisitionInterfaceWPtr
QMutex m_Mutex
Definition: qcepthread.h:17
QxrdAcquisitionInterfaceWPtr m_Acquisition