QXRD  0.11.16
Signals | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
QxrdServerThread Class Reference

#include <qxrdserverthread.h>

Inheritance diagram for QxrdServerThread:
Inheritance graph
[legend]
Collaboration diagram for QxrdServerThread:
Collaboration graph
[legend]

Signals

void execute (QString cmd)
 

Public Member Functions

 QxrdServerThread (QcepSettingsSaverWPtr saver, QxrdExperimentWPtr doc, QString name)
 
 ~QxrdServerThread ()
 
QxrdServerPtr server () const
 
void shutdown ()
 
void executeScript (QString cmd)
 
- Public Member Functions inherited from QxrdThread
 QxrdThread (QObject *parent=0)
 
- Public Member Functions inherited from QcepThread
 QcepThread (QObject *parent=0)
 

Protected Member Functions

void run ()
 

Private Attributes

QcepSettingsSaverWPtr m_Saver
 
QxrdExperimentWPtr m_Experiment
 
QString m_Name
 
QxrdServerPtr m_Server
 

Additional Inherited Members

- Static Public Member Functions inherited from QcepThread
static void msleep (long unsigned int)
 
- Protected Attributes inherited from QcepThread
QMutex m_Mutex
 

Detailed Description

Definition at line 12 of file qxrdserverthread.h.

Constructor & Destructor Documentation

QxrdServerThread::QxrdServerThread ( QcepSettingsSaverWPtr  saver,
QxrdExperimentWPtr  doc,
QString  name 
)

Definition at line 11 of file qxrdserverthread.cpp.

References DEBUG_CONSTRUCTORS, and qcepDebug().

11  :
12  m_Saver(saver),
13  m_Experiment(doc),
14  m_Name(name),
15  m_Server(NULL)
16 {
18  printf("QxrdServerThread::QxrdServerThread(%p)\n", this);
19  }
20 
21  setObjectName("specserver");
22 }
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26
QcepSettingsSaverWPtr m_Saver
QxrdServerPtr m_Server
QxrdExperimentWPtr m_Experiment

Here is the call graph for this function:

QxrdServerThread::~QxrdServerThread ( )

Definition at line 24 of file qxrdserverthread.cpp.

References DEBUG_CONSTRUCTORS, qcepDebug(), and shutdown().

25 {
26  shutdown();
27 
29  printf("QxrdServerThread::~QxrdServerThread(%p)\n", this);
30  }
31 }
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26

Here is the call graph for this function:

Member Function Documentation

void QxrdServerThread::execute ( QString  cmd)
signal

Referenced by executeScript().

Here is the caller graph for this function:

void QxrdServerThread::executeScript ( QString  cmd)

Definition at line 90 of file qxrdserverthread.cpp.

References execute().

91 {
92  emit execute(cmd);
93 }
void execute(QString cmd)
void QxrdServerThread::run ( )
protected

Definition at line 55 of file qxrdserverthread.cpp.

References DEBUG_THREADS, m_Experiment, QcepThread::m_Mutex, m_Name, m_Saver, m_Server, qcepDebug(), and server().

56 {
57  if (qcepDebug(DEBUG_THREADS)) {
58  printf("Spec Server Thread Started\n");
59  }
60 
61  {
63 
64 
65  if (server) {
66  m_Mutex.lock();
67 // server -> moveToThread(g_Application->thread());
68  m_Server = server;
69  m_Mutex.unlock();
70  }
71  }
72 
73  int rc = -1;
74 
75  if (m_Server) {
76  rc = exec();
77  }
78 
79  {
80  QcepMutexLocker lock(__FILE__, __LINE__, &m_Mutex);
81 
83  }
84 
85  if (qcepDebug(DEBUG_THREADS)) {
86  printf("Spec Server Thread Terminated with rc %d\n", rc);
87  }
88 }
QSharedPointer< QxrdServer > QxrdServerPtr
Definition: qxrdserver-ptr.h:6
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26
QcepSettingsSaverWPtr m_Saver
QxrdServerPtr m_Server
QxrdServerPtr server() const
QMutex m_Mutex
Definition: qcepthread.h:17
QxrdExperimentWPtr m_Experiment

Here is the call graph for this function:

QxrdServerPtr QxrdServerThread::server ( ) const

Definition at line 33 of file qxrdserverthread.cpp.

References QcepThread::m_Mutex, and m_Server.

Referenced by run().

34 {
35  while (isRunning()) {
36  {
37  QcepMutexLocker lock(__FILE__, __LINE__, &m_Mutex);
38 
39  if (m_Server) return m_Server;
40  }
41 
42  QThread::msleep(50);
43  }
44 
45  return QxrdServerPtr();
46 }
QSharedPointer< QxrdServer > QxrdServerPtr
Definition: qxrdserver-ptr.h:6
QxrdServerPtr m_Server
QMutex m_Mutex
Definition: qcepthread.h:17

Here is the caller graph for this function:

void QxrdServerThread::shutdown ( )
virtual

Implements QxrdThread.

Definition at line 48 of file qxrdserverthread.cpp.

Referenced by ~QxrdServerThread().

49 {
50  exit();
51 
52  wait();
53 }

Here is the caller graph for this function:

Member Data Documentation

QxrdExperimentWPtr QxrdServerThread::m_Experiment
private

Definition at line 33 of file qxrdserverthread.h.

Referenced by run().

QString QxrdServerThread::m_Name
private

Definition at line 34 of file qxrdserverthread.h.

Referenced by run().

QcepSettingsSaverWPtr QxrdServerThread::m_Saver
private

Definition at line 32 of file qxrdserverthread.h.

Referenced by run().

QxrdServerPtr QxrdServerThread::m_Server
private

Definition at line 35 of file qxrdserverthread.h.

Referenced by run(), and server().


The documentation for this class was generated from the following files: