qpidctrl  0.7.1
Public Slots | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
QPidServerSession Class Reference

#include <qpidserversession.h>

Inheritance diagram for QPidServerSession:
Inheritance graph

Public Slots

void connectionClosed ()
 
void clientRead ()
 
void finishedCommand (QScriptValue result)
 

Public Member Functions

 QPidServerSession (QPidServerWPtr server, QPidControllerWPtr ctrl, QTcpSocketPtr socket)
 

Protected Member Functions

void printMessage (QString msg, QDateTime ts=QDateTime::currentDateTime())
 

Private Attributes

QPidServerWPtr m_Server
 
QPidControllerWPtr m_Controller
 
QTcpSocketPtr m_Socket
 

Detailed Description

Definition at line 13 of file qpidserversession.h.

Constructor & Destructor Documentation

QPidServerSession::QPidServerSession ( QPidServerWPtr  server,
QPidControllerWPtr  ctrl,
QTcpSocketPtr  socket 
)
explicit

Definition at line 7 of file qpidserversession.cpp.

References clientRead(), connectionClosed(), m_Socket, and printMessage().

7  :
8  QObject(),
9  m_Server(server),
10  m_Controller(ctrl),
11  m_Socket(socket)
12 {
13  connect(m_Socket.data(), SIGNAL(readyRead()), this, SLOT(clientRead()));
14 
15  if (qcepDebug(DEBUG_SERVER)) {
16  printMessage(tr("New connection from %1").arg(m_Socket->peerAddress().toString()) );
17  }
18 
19  connect(m_Socket.data(), SIGNAL(disconnected()), this, SLOT(connectionClosed()));
20 // connect(m_Socket.data(), SIGNAL(disconnected()), m_Socket.data(), SLOT(deleteLater()));
21 }
void printMessage(QString msg, QDateTime ts=QDateTime::currentDateTime())
QPidControllerWPtr m_Controller
QPidServerWPtr m_Server
QTcpSocketPtr m_Socket

Member Function Documentation

void QPidServerSession::clientRead ( )
slot

Definition at line 32 of file qpidserversession.cpp.

References m_Controller, m_Socket, and printMessage().

Referenced by QPidServerSession().

33 {
34  QTextStream ts( m_Socket.data() );
35 
36  while ( m_Socket->canReadLine() ) {
37  QString str = ts.readLine();
38 
39  if (qcepDebug(DEBUG_SERVER)) {
40  printMessage(tr("Command: %1 received").arg(str));
41  }
42 
44 
45  if (ctl) {
46  INVOKE_CHECK(
47  QMetaObject::invokeMethod(ctl.data(), "executeServerCommand",
49  Q_ARG(QString, str)));
50  }
51  }
52 }
void printMessage(QString msg, QDateTime ts=QDateTime::currentDateTime())
QWeakPointer< QPidServerSession > QPidServerSessionWPtr
QSharedPointer< QPidController > QPidControllerPtr
QPidControllerWPtr m_Controller
QSharedPointer< QPidServerSession > QPidServerSessionPtr
QTcpSocketPtr m_Socket
void QPidServerSession::connectionClosed ( )
slot

Definition at line 65 of file qpidserversession.cpp.

References m_Server, and printMessage().

Referenced by QPidServerSession().

66 {
67  if (qcepDebug(DEBUG_SERVER)) {
68  printMessage("Client closed connection");
69  }
70 
71  QPidServerPtr server(m_Server);
72 
73  if (server) {
74  server->deleteSession(QPidServerSessionPtr(this));
75  }
76 }
void printMessage(QString msg, QDateTime ts=QDateTime::currentDateTime())
QSharedPointer< QPidServerSession > QPidServerSessionPtr
QPidServerWPtr m_Server
QSharedPointer< QPidServer > QPidServerPtr
Definition: qpidserver-ptr.h:6
void QPidServerSession::finishedCommand ( QScriptValue  result)
slot

Definition at line 54 of file qpidserversession.cpp.

References m_Socket, and printMessage().

55 {
56  if (qcepDebug(DEBUG_SERVER)) {
57  printMessage(tr("Result: %1").arg(result.toString()));
58  }
59 
60  if (m_Socket && (m_Socket->isWritable())) {
61  m_Socket -> write(qPrintable(result.toString()+"\n"));
62  }
63 }
void printMessage(QString msg, QDateTime ts=QDateTime::currentDateTime())
QTcpSocketPtr m_Socket
void QPidServerSession::printMessage ( QString  msg,
QDateTime  ts = QDateTime::currentDateTime() 
)
protected

Definition at line 23 of file qpidserversession.cpp.

References m_Controller.

Referenced by clientRead(), connectionClosed(), finishedCommand(), and QPidServerSession().

24 {
26 
27  if (ctl) {
28  ctl->printMessage(msg, ts);
29  }
30 }
QSharedPointer< QPidController > QPidControllerPtr
QPidControllerWPtr m_Controller

Member Data Documentation

QPidControllerWPtr QPidServerSession::m_Controller
private

Definition at line 31 of file qpidserversession.h.

Referenced by clientRead(), and printMessage().

QPidServerWPtr QPidServerSession::m_Server
private

Definition at line 30 of file qpidserversession.h.

Referenced by connectionClosed().

QTcpSocketPtr QPidServerSession::m_Socket
private

Definition at line 32 of file qpidserversession.h.

Referenced by clientRead(), finishedCommand(), and QPidServerSession().


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