OpendTect  6.3
qtcpsocketcomm.h
Go to the documentation of this file.
1 #ifndef qtcpsocketcomm_h
2 #define qtcpsocketcomm_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Nanne Hemstra
9  Date: March 2009
10 ________________________________________________________________________
11 
12 -*/
13 
14 
15 #include <QTcpSocket>
16 #include "netsocket.h"
17 
18 /*\brief QTcpSocket communication class
19 
20  Internal object, to hide Qt's signal/slot mechanism.
21 */
22 
23 QT_BEGIN_NAMESPACE
24 
25 class QTcpSocketComm : public QObject
26 {
27  Q_OBJECT
28  friend class Network::Socket;
29 
30  void disconnect() { netsocket_ = 0; }
31 
32 protected:
33 
34 QTcpSocketComm( QTcpSocket* qtcpsocket, Network::Socket* netsocket )
35  : qtcpsocket_(qtcpsocket)
36  , netsocket_(netsocket)
37 {
38  connect( qtcpsocket, SIGNAL(disconnected()), this, SLOT(trigDisconnect()));
39  connect( qtcpsocket, SIGNAL(readyRead()), this, SLOT(trigReadyRead()) );
40  connect(qtcpsocket, SIGNAL(error(QAbstractSocket::SocketError)),
41  this, SLOT(handleError(QAbstractSocket::SocketError)));
42  connect(qtcpsocket, SIGNAL(stateChanged(QAbstractSocket::SocketState)),
43  this, SLOT(handleStateChange(QAbstractSocket::SocketState)));
44 }
45 
46 private slots:
47 
48 void handleError( QAbstractSocket::SocketError err )
49 {
50  if (netsocket_)
51  netsocket_->error.trigger();
52 }
53 
54 void handleStateChange(QAbstractSocket::SocketState state)
55 {
56 }
57 
58 
60 {
61  if ( netsocket_ )
62  netsocket_->disconnected.trigger( *netsocket_ );
63 }
64 
65 
67 {
68  if ( netsocket_ )
69  netsocket_->readyRead.trigger( *netsocket_ );
70 }
71 
72 private:
73 
74  QTcpSocket* qtcpsocket_;
76 
77 };
78 
79 QT_END_NAMESPACE
80 
81 #endif
void disconnect()
Definition: qtcpsocketcomm.h:30
QTcpSocket * qtcpsocket_
Definition: qtcpsocketcomm.h:74
QTcpSocketComm(QTcpSocket *qtcpsocket, Network::Socket *netsocket)
Definition: qtcpsocketcomm.h:34
Network::Socket * netsocket_
Definition: qtcpsocketcomm.h:75
Definition: qtcpsocketcomm.h:25
void handleStateChange(QAbstractSocket::SocketState state)
Definition: qtcpsocketcomm.h:54
friend class Network::Socket
Definition: qtcpsocketcomm.h:28
void trigReadyRead()
Definition: qtcpsocketcomm.h:66
void handleError(QAbstractSocket::SocketError err)
Definition: qtcpsocketcomm.h:48
void trigDisconnect()
Definition: qtcpsocketcomm.h:59

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017