On quarta-feira, 7 de novembro de 2012 00.07.41, Corentin Jabot wrote: > The following seems like a good subset of the QAbstractSocket > interfaces that also makes sense for QLocalSocket
I don't want you to list functions that are common. I can do that by myself. I want you to explain *why* you need those. And while you're at it, let us know whether they should be shared with QProcess and QNetworkReply too. > > void abort () > void disconnectFromHost () No for disconnectFromHost so long as connectToHost() isn't common. You'll have to make do with close(). > SocketError error () const I'd have liked to replace this with a QtNetwork-wide error enum, the one in QNetworkReply. > bool flush () > bool isValid () const Explain why you need isValid and why isOpen or others don't suffice. > qint64 readBufferSize () const > void setReadBufferSize ( qint64 size ) I completely agree with those two. They should be in QIODevice itself. > bool setSocketDescriptor ( int socketDescriptor, SocketState > socketState = ConnectedState, OpenMode openMode = ReadWrite ) No on this one. I don't think that replacing an existing socket makes sense in the common base. You usually need to know that the socket type is compatible with the class that you're using. Therefore, this does not need to be common. > int socketDescriptor () const Yes on this one. > SocketType socketType () const Yes and QLocalSocket needs to differentiate a local socket and an abstract local socket. > SocketState state () const Makes sense. > bool waitForConnected ( int msecs = 30000 ) > bool waitForDisconnected ( int msecs = 30000 ) No on both of those: connecting is specific on the type, therefore waitForConnected is specific too. If disconnectFromHost isn't common either, then waitForDisconnected shouldn't be either. > The SocketError & SocketState enums have already similar values in both > class > > SocketType should be in TcpSocket, UdpSocket, LocalSocket - ( could > also be NamedPipeSocket ? ) It should differentiate based on the implementation in the backend. There's also the NonceTcpSocket possibility for QLocalSocket. I agree we need it. > The following signals could also be common (again, it's about using > the same enums): > void connected () > void disconnected () > void error ( QAbstractSocket::SocketError socketError ) > void stateChanged ( QAbstractSocket::SocketState socketState ) > > I dont see how the connectTo* methods could be shared, and I don't > think it would be a good idea to try to do so. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development