Replying to myself to try and get the discussion going again. A summary of API decisions so far:
- we only provide an asynchronous API - we do not want a "manager" object (QNAM-style) to avoid users creating a manager per lookup - we want a single class to support different types of DNS requests (Q3Dns-style) - lookups are performed by calling static methods returning a pointer to a QObject-derived class, which emits the "finished()" signal upon completion What remains to be decided: - do we want shared pointers or not? My feeling is that using QSharedPointer is going to be awkward for the API user, I cannot find any other example of a Qt API which returns a QSharedPointer to a QObject-derived class. - finalise the class name (I think QDns was suggested) In the meantime, I have updated my implementation assuming we use raw pointers, with QDnsReply as the working name for the class: https://qt.gitorious.org/~sharky/qt/sharkys-qtbase/blobs/8628259746664df7754f7b27d406d7bbd74580b0/src/network/kernel/qdnsreply.h#line154 Some notes about the implementation: - the actual lookup code is run in a thread, managed by a global threadpool (QHostInfo-style) - the thread and the QDnsReply both operate on a QSharedPointer<QDnsReplyPrivate>, so it doesn't matter whether the QDnsReply is deleted before or after the thread completes Cheers, Jeremy _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
