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

#include <qxrdsimpleserverthread.h>

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

Public Member Functions

 QxrdSimpleServerThread (QcepSettingsSaverWPtr saver, QxrdExperimentWPtr doc, QString name)
 
 ~QxrdSimpleServerThread ()
 
void shutdown ()
 
QxrdSimpleServerPtr server () const
 
- 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
 
QxrdSimpleServerPtr 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 10 of file qxrdsimpleserverthread.h.

Constructor & Destructor Documentation

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

Definition at line 8 of file qxrdsimpleserverthread.cpp.

References DEBUG_CONSTRUCTORS, and qcepDebug().

8  :
9  m_Saver(saver),
10  m_Experiment(doc),
11  m_Name(name),
12  m_Server(NULL)
13 {
15  printf("QxrdSimpleServerThread::QxrdSimpleServerThread(%p)\n", this);
16  }
17 
18  setObjectName("simpleserver");
19 }
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26
QcepSettingsSaverWPtr m_Saver
QxrdExperimentWPtr m_Experiment
QxrdSimpleServerPtr m_Server

Here is the call graph for this function:

QxrdSimpleServerThread::~QxrdSimpleServerThread ( )

Definition at line 21 of file qxrdsimpleserverthread.cpp.

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

22 {
23  shutdown();
24 
26  printf("QxrdSimpleServerThread::~QxrdSimpleServerThread(%p)\n", this);
27  }
28 }
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26

Here is the call graph for this function:

Member Function Documentation

void QxrdSimpleServerThread::run ( )
protected

Definition at line 52 of file qxrdsimpleserverthread.cpp.

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

53 {
54  if (qcepDebug(DEBUG_THREADS)) {
55  printf("Simple Server Thread Started\n");
56  }
57 
58  {
60 
61  if (server) {
62  m_Mutex.lock();
63 // server->moveToThread(g_Application->thread());
64  m_Server = server;
65  m_Mutex.unlock();
66  }
67  }
68 
69  int rc = -1;
70 
71  rc = exec();
72 
73  {
74  QcepMutexLocker lock(__FILE__, __LINE__, &m_Mutex);
75 
77  }
78 
79  if (qcepDebug(DEBUG_THREADS)) {
80  printf("Simple Server Thread Terminated with rc %d\n", rc);
81  }
82 }
qint64 qcepDebug(int cond)
Definition: qcepdebug.cpp:26
QcepSettingsSaverWPtr m_Saver
QSharedPointer< QxrdSimpleServer > QxrdSimpleServerPtr
QxrdExperimentWPtr m_Experiment
QxrdSimpleServerPtr m_Server
QxrdSimpleServerPtr server() const
QMutex m_Mutex
Definition: qcepthread.h:17

Here is the call graph for this function:

QxrdSimpleServerPtr QxrdSimpleServerThread::server ( ) const

Definition at line 30 of file qxrdsimpleserverthread.cpp.

References QcepThread::m_Mutex, and m_Server.

Referenced by run().

31 {
32  while (isRunning()) {
33  {
34  QcepMutexLocker lock(__FILE__, __LINE__, &m_Mutex);
35 
36  if (m_Server) return m_Server;
37  }
38 
39  QThread::msleep(50);
40  }
41 
42  return QxrdSimpleServerPtr();
43 }
QSharedPointer< QxrdSimpleServer > QxrdSimpleServerPtr
QxrdSimpleServerPtr m_Server
QMutex m_Mutex
Definition: qcepthread.h:17

Here is the caller graph for this function:

void QxrdSimpleServerThread::shutdown ( )
virtual

Implements QxrdThread.

Definition at line 45 of file qxrdsimpleserverthread.cpp.

Referenced by ~QxrdSimpleServerThread().

46 {
47  exit();
48 
49  wait();
50 }

Here is the caller graph for this function:

Member Data Documentation

QxrdExperimentWPtr QxrdSimpleServerThread::m_Experiment
private

Definition at line 26 of file qxrdsimpleserverthread.h.

Referenced by run().

QString QxrdSimpleServerThread::m_Name
private

Definition at line 27 of file qxrdsimpleserverthread.h.

Referenced by run().

QcepSettingsSaverWPtr QxrdSimpleServerThread::m_Saver
private

Definition at line 25 of file qxrdsimpleserverthread.h.

Referenced by run().

QxrdSimpleServerPtr QxrdSimpleServerThread::m_Server
private

Definition at line 28 of file qxrdsimpleserverthread.h.

Referenced by run(), and server().


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