⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 q3socketdevice.h

📁 奇趣公司比较新的qt/emd版本
💻 H
字号:
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the Qt3Support module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifndef Q3SOCKETDEVICE_H#define Q3SOCKETDEVICE_H#include <QtCore/qiodevice.h>#include <QtNetwork/qhostaddress.h> // int->QHostAddress conversionQT_BEGIN_HEADERQT_MODULE(Qt3Support)#ifndef QT_NO_NETWORKclass Q3SocketDevicePrivate;class Q_COMPAT_EXPORT Q3SocketDevice: public QIODevice{public:    enum Type { Stream, Datagram };    enum Protocol { IPv4, IPv6, Unknown };    Q3SocketDevice( Type type = Stream );    Q3SocketDevice( Type type, Protocol protocol, int dummy );    Q3SocketDevice( int socket, Type type );    virtual ~Q3SocketDevice();    bool	 isValid() const;    Type	 type() const;    Protocol	 protocol() const;    int		 socket() const;    virtual void setSocket( int socket, Type type );    bool	 open( OpenMode mode );    bool	 open( int mode ) { return open((OpenMode)mode); }    void	 close();    bool	 flush();    // Implementation of QIODevice abstract virtual functions    Offset	 size() const;    Offset	 at() const;    bool	 at( Offset );    bool	 atEnd() const;    bool	 blocking() const;    virtual void setBlocking( bool );    bool	 addressReusable() const;    virtual void setAddressReusable( bool );    int		 receiveBufferSize() const;    virtual void setReceiveBufferSize( uint );    int		 sendBufferSize() const;    virtual void setSendBufferSize( uint );    virtual bool connect( const QHostAddress &, Q_UINT16 );    virtual bool bind( const QHostAddress &, Q_UINT16 );    virtual bool listen( int backlog );    virtual int	 accept();    qint64	 bytesAvailable() const;    Q_LONG	 waitForMore( int msecs, bool *timeout=0 ) const;    virtual Q_LONG  writeBlock( const char *data, Q_ULONG len,			    const QHostAddress & host, Q_UINT16 port );    inline Q_LONG writeBlock(const char *data, Q_ULONG len)        { return qint64(write(data, qint64(len))); }    inline qint64 readBlock(char *data, Q_ULONG maxlen)        { return qint64(read(data, qint64(maxlen))); }    Q_UINT16	 port() const;    Q_UINT16	 peerPort() const;    QHostAddress address() const;    QHostAddress peerAddress() const;    enum Error {	NoError,	AlreadyBound,	Inaccessible,	NoResources,	InternalError,	Bug = InternalError, // ### remove in 4.0?	Impossible,	NoFiles,	ConnectionRefused,	NetworkFailure,	UnknownError    };    Error	 error() const;    inline bool isSequential() const { return true; }protected:    void setError( Error err );    qint64 readData(char *data, qint64 maxlen);    qint64 writeData(const char *data, qint64 len);private:    int fd;    Type t;    Q_UINT16 p;    QHostAddress a;    Q_UINT16 pp;    QHostAddress pa;    Q3SocketDevice::Error e;    Q3SocketDevicePrivate * d;    enum Option { Broadcast, ReceiveBuffer, ReuseAddress, SendBuffer };    int		 option( Option ) const;    virtual void setOption( Option, int );    void	 fetchConnectionParameters();#if defined(Q_OS_WIN32)    void	 fetchPeerConnectionParameters();#endif    static void  init();    int		 createNewSocket();    Protocol	 getProtocol() const;private:	// Disabled copy constructor and operator=#if defined(Q_DISABLE_COPY)    Q3SocketDevice( const Q3SocketDevice & );    Q3SocketDevice &operator=( const Q3SocketDevice & );#endif};#endif // QT_NO_NETWORKQT_END_HEADER#endif // Q3SOCKETDEVICE_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -