Changeset 1348 in ntrip for trunk/BNC/bncsocket.cpp
- Timestamp:
- Dec 27, 2008, 1:09:16 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/bncsocket.cpp
r1346 r1348 26 26 // Constructor 27 27 //////////////////////////////////////////////////////////////////////////// 28 bncSocket::bncSocket( QTcpSocket* socket) {29 _socket = socket;28 bncSocket::bncSocket() { 29 _socket = 0; 30 30 } 31 31 … … 33 33 //////////////////////////////////////////////////////////////////////////// 34 34 bncSocket::~bncSocket() { 35 delete _socket; 35 36 } 36 37 … … 39 40 void bncSocket::connectToHost(const QString &hostName, quint16 port, 40 41 QIODevice::OpenMode mode) { 41 _socket->connectToHost(hostName, port, mode); 42 if (_socket) { 43 _socket->connectToHost(hostName, port, mode); 44 } 42 45 } 43 46 … … 45 48 //////////////////////////////////////////////////////////////////////////// 46 49 bool bncSocket::waitForConnected(int msecs) { 47 return _socket->waitForConnected(msecs); 50 if (_socket) { 51 return _socket->waitForConnected(msecs); 52 } 53 else { 54 return false; 55 } 48 56 } 49 57 … … 51 59 //////////////////////////////////////////////////////////////////////////// 52 60 QAbstractSocket::SocketState bncSocket::state() const { 53 return _socket->state(); 61 if (_socket) { 62 return _socket->state(); 63 } 64 else { 65 return QAbstractSocket::UnconnectedState; 66 } 54 67 } 55 68 … … 57 70 //////////////////////////////////////////////////////////////////////////// 58 71 void bncSocket::close() { 59 _socket->close(); 72 if (_socket) { 73 _socket->close(); 74 } 60 75 } 61 76 … … 63 78 //////////////////////////////////////////////////////////////////////////// 64 79 qint64 bncSocket::bytesAvailable() const { 65 return _socket->bytesAvailable(); 80 if (_socket) { 81 return _socket->bytesAvailable(); 82 } 83 else { 84 return 0; 85 } 66 86 } 67 87 … … 69 89 //////////////////////////////////////////////////////////////////////////// 70 90 bool bncSocket::canReadLine() const { 71 return _socket->canReadLine(); 91 if (_socket) { 92 return _socket->canReadLine(); 93 } 94 else { 95 return false; 96 } 72 97 } 73 98 … … 75 100 //////////////////////////////////////////////////////////////////////////// 76 101 QByteArray bncSocket::readLine(qint64 maxlen) { 77 return _socket->readLine(maxlen); 102 if (_socket) { 103 return _socket->readLine(maxlen); 104 } 105 else { 106 return ""; 107 } 78 108 } 79 109 … … 81 111 //////////////////////////////////////////////////////////////////////////// 82 112 bool bncSocket::waitForReadyRead(int msecs) { 83 return _socket->waitForReadyRead(msecs); 113 if (_socket) { 114 return _socket->waitForReadyRead(msecs); 115 } 116 else { 117 return false; 118 } 84 119 } 85 120 … … 87 122 //////////////////////////////////////////////////////////////////////////// 88 123 qint64 bncSocket::read(char* data, qint64 maxlen) { 89 return _socket->read(data, maxlen); 124 if (_socket) { 125 return _socket->read(data, maxlen); 126 } 127 else { 128 return -1; 129 } 90 130 } 91 131 … … 93 133 //////////////////////////////////////////////////////////////////////////// 94 134 qint64 bncSocket::write(const char* data, qint64 len) { 95 return _socket->write(data, len); 135 if (_socket) { 136 return _socket->write(data, len); 137 } 138 else { 139 return -1; 140 } 96 141 } 97 142 … … 99 144 //////////////////////////////////////////////////////////////////////////// 100 145 bool bncSocket::waitForBytesWritten(int msecs) { 101 return _socket->waitForBytesWritten(msecs); 146 if (_socket) { 147 return _socket->waitForBytesWritten(msecs); 148 } 149 else { 150 return false; 151 } 102 152 } 103 153 104 154 // Connect to Caster, send the Request (static) 105 155 //////////////////////////////////////////////////////////////////////////// 106 bncSocket* bncSocket::request(const QUrl& mountPoint, 107 QByteArray& latitude, QByteArray& longitude, 108 QByteArray& nmea, int timeOut, 109 QString& msg) { 156 t_irc bncSocket::request(const QUrl& mountPoint, const QByteArray& latitude, 157 const QByteArray& longitude, const QByteArray& nmea, 158 int timeOut, QString& msg) { 159 160 delete _socket; 161 _socket = new QTcpSocket(); 110 162 111 163 // Connect the Socket … … 115 167 int proxyPort = settings.value("proxyPort").toInt(); 116 168 117 bncSocket* socket = new bncSocket(new QTcpSocket());118 169 if ( proxyHost.isEmpty() ) { 119 socket->connectToHost(mountPoint.host(), mountPoint.port());120 } 121 else { 122 socket->connectToHost(proxyHost, proxyPort);123 } 124 if (! socket->waitForConnected(timeOut)) {170 _socket->connectToHost(mountPoint.host(), mountPoint.port()); 171 } 172 else { 173 _socket->connectToHost(proxyHost, proxyPort); 174 } 175 if (!_socket->waitForConnected(timeOut)) { 125 176 msg += "Connect timeout\n"; 126 delete socket; 127 return 0; 177 delete _socket; 178 _socket = 0; 179 return failure; 128 180 } 129 181 … … 205 257 msg += reqStr; 206 258 207 socket->write(reqStr, reqStr.length());208 209 if (! socket->waitForBytesWritten(timeOut)) {259 _socket->write(reqStr, reqStr.length()); 260 261 if (!_socket->waitForBytesWritten(timeOut)) { 210 262 msg += "Write timeout\n"; 211 delete socket; 212 return 0; 213 } 214 215 return socket; 216 } 217 263 delete _socket; 264 _socket = 0; 265 return failure; 266 } 267 268 return success; 269 } 270
Note:
See TracChangeset
for help on using the changeset viewer.