source: trunk/src/network/socket/qtcpsocket.cpp

Last change on this file was 846, checked in by Dmitry A. Kuminov, 14 years ago

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

File size: 4.0 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4** All rights reserved.
5** Contact: Nokia Corporation ([email protected])
6**
7** This file is part of the QtNetwork module of the Qt Toolkit.
8**
9** $QT_BEGIN_LICENSE:LGPL$
10** Commercial Usage
11** Licensees holding valid Qt Commercial licenses may use this file in
12** accordance with the Qt Commercial License Agreement provided with the
13** Software or, alternatively, in accordance with the terms contained in
14** a written agreement between you and Nokia.
15**
16** GNU Lesser General Public License Usage
17** Alternatively, this file may be used under the terms of the GNU Lesser
18** General Public License version 2.1 as published by the Free Software
19** Foundation and appearing in the file LICENSE.LGPL included in the
20** packaging of this file. Please review the following information to
21** ensure the GNU Lesser General Public License version 2.1 requirements
22** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
23**
24** In addition, as a special exception, Nokia gives you certain additional
25** rights. These rights are described in the Nokia Qt LGPL Exception
26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
27**
28** GNU General Public License Usage
29** Alternatively, this file may be used under the terms of the GNU
30** General Public License version 3.0 as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL included in the
32** packaging of this file. Please review the following information to
33** ensure the GNU General Public License version 3.0 requirements will be
34** met: http://www.gnu.org/copyleft/gpl.html.
35**
36** If you have questions regarding the use of this file, please contact
37** Nokia at [email protected].
38** $QT_END_LICENSE$
39**
40****************************************************************************/
41
42//#define QTCPSOCKET_DEBUG
43
44/*!
45 \class QTcpSocket
46
47 \brief The QTcpSocket class provides a TCP socket.
48
49 \reentrant
50 \ingroup network
51 \inmodule QtNetwork
52
53 TCP (Transmission Control Protocol) is a reliable,
54 stream-oriented, connection-oriented transport protocol. It is
55 especially well suited for continuous transmission of data.
56
57 QTcpSocket is a convenience subclass of QAbstractSocket that
58 allows you to establish a TCP connection and transfer streams of
59 data. See the QAbstractSocket documentation for details.
60
61 \bold{Note:} TCP sockets cannot be opened in QIODevice::Unbuffered mode.
62
63 \section1 Symbian Platform Security Requirements
64
65 On Symbian, processes which use this class must have the
66 \c NetworkServices platform security capability. If the client
67 process lacks this capability, it will result in a panic.
68
69 Platform security capabilities are added via the
70 \l{qmake-variable-reference.html#target-capability}{TARGET.CAPABILITY}
71 qmake variable.
72
73 \sa QTcpServer, QUdpSocket, QFtp, QNetworkAccessManager,
74 {Fortune Server Example}, {Fortune Client Example},
75 {Threaded Fortune Server Example}, {Blocking Fortune Client Example},
76 {Loopback Example}, {Torrent Example}
77*/
78
79#include "qlist.h"
80#include "qtcpsocket_p.h"
81#include "qtcpsocket.h"
82#include "qhostaddress.h"
83
84QT_BEGIN_NAMESPACE
85
86/*!
87 Creates a QTcpSocket object in state \c UnconnectedState.
88
89 \a parent is passed on to the QObject constructor.
90
91 \sa socketType()
92*/
93QTcpSocket::QTcpSocket(QObject *parent)
94 : QAbstractSocket(TcpSocket, *new QTcpSocketPrivate, parent)
95{
96#if defined(QTCPSOCKET_DEBUG)
97 qDebug("QTcpSocket::QTcpSocket()");
98#endif
99 d_func()->isBuffered = true;
100}
101
102/*!
103 Destroys the socket, closing the connection if necessary.
104
105 \sa close()
106*/
107
108QTcpSocket::~QTcpSocket()
109{
110#if defined(QTCPSOCKET_DEBUG)
111 qDebug("QTcpSocket::~QTcpSocket()");
112#endif
113}
114
115/*!
116 \internal
117*/
118QTcpSocket::QTcpSocket(QTcpSocketPrivate &dd, QObject *parent)
119 : QAbstractSocket(TcpSocket, dd, parent)
120{
121 d_func()->isBuffered = true;
122}
123
124QT_END_NAMESPACE
Note: See TracBrowser for help on using the repository browser.