From d796c9dd933ab96ec83b9a634feedd5d32e1ba3f Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Tue, 8 Nov 2011 12:31:36 -0600 Subject: Test conversion to TQt3 from Qt3 8c6fc1f8e35fd264dd01c582ca5e7549b32ab731 --- doc/html/qdns.html | 334 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 334 insertions(+) create mode 100644 doc/html/qdns.html (limited to 'doc/html/qdns.html') diff --git a/doc/html/qdns.html b/doc/html/qdns.html new file mode 100644 index 000000000..3383fd779 --- /dev/null +++ b/doc/html/qdns.html @@ -0,0 +1,334 @@ + + + + + +TQDns Class + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

TQDns Class Reference
[network module]

+ +

The TQDns class provides asynchronous DNS lookups. +More... +

#include <qdns.h> +

Inherits TQObject. +

List of all member functions. +

Public Members

+ +

Signals

+ +

Detailed Description

+ + +The TQDns class provides asynchronous DNS lookups. + +

+ +

Both Windows and Unix provide synchronous DNS lookups; Windows +provides some asynchronous support too. At the time of writing +neither operating system provides asynchronous support for +anything other than hostname-to-address mapping. +

TQDns rectifies this shortcoming, by providing asynchronous caching +lookups for the record types that we expect modern GUI +applications to need in the near future. +

The class is not straightforward to use (although it is much +simpler than the native APIs); TQSocket provides much easier to use +TCP connection facilities. The aim of TQDns is to provide a correct +and small API to the DNS and nothing more. (We use "correctness" +to mean that the DNS information is correctly cached, and +correctly timed out.) +

The API comprises a constructor, functions to set the DNS node +(the domain in DNS terminology) and record type (setLabel() and +setRecordType()), the corresponding get functions, an isWorking() +function to determine whether TQDns is working or reading, a +resultsReady() signal and query functions for the result. +

There is one query function for each RecordType, namely +addresses(), mailServers(), servers(), hostNames() and texts(). +There are also two generic query functions: canonicalName() +returns the name you'll presumably end up using (the exact meaning +of this depends on the record type) and qualifiedNames() returns a +list of the fully qualified names label() maps to. +

See also TQSocket and Input/Output and Networking. + +


Member Type Documentation

+

TQDns::RecordType

+ +

This enum type defines the record types TQDns can handle. The DNS +provides many more; these are the ones we've judged to be in +current use, useful for GUI programs and important enough to +support right away: +

We expect that some support for the +RFC-2535 +extensions will be added in future versions. + +


Member Function Documentation

+

TQDns::TQDns () +

+Constructs a DNS query object with invalid settings for both the +label and the search type. + +

TQDns::TQDns ( const TQString & label, RecordType rr = A ) +

+Constructs a DNS query object that will return record type rr +information about label. +

The DNS lookup is started the next time the application enters the +event loop. When the result is found the signal resultsReady() is +emitted. +

rr defaults to A, IPv4 addresses. + +

TQDns::TQDns ( const TQHostAddress & address, RecordType rr = Ptr ) +

+Constructs a DNS query object that will return record type rr +information about host address address. The label is set to the +IN-ADDR.ARPA domain name. This is useful in combination with the +Ptr record type (e.g. if you want to look up a hostname for a +given address). +

The DNS lookup is started the next time the application enters the +event loop. When the result is found the signal resultsReady() is +emitted. +

rr defaults to Ptr, that maps addresses to hostnames. + +

TQDns::~TQDns () [virtual] +

+Destroys the DNS query object and frees its allocated resources. + +

TQValueList<TQHostAddress> TQDns::addresses () const +

+Returns a list of the addresses for this name if this TQDns object +has a recordType() of TQDns::A or TQDns::Aaaa and the answer +is available; otherwise returns an empty list. +

As a special case, if label() is a valid numeric IP address, this +function returns that address. +

Note that if you want to iterate over the list, you should iterate +over a copy, e.g. +

+    TQValueList<TQHostAddress> list = myDns.addresses();
+    TQValueList<TQHostAddress>::Iterator it = list.begin();
+    while( it != list.end() ) {
+        myProcessing( *it );
+        ++it;
+    }
+    
+ +

+

TQString TQDns::canonicalName () const +

+Returns the canonical name for this DNS node. (This works +regardless of what recordType() is set to.) +

If the canonical name isn't known, this function returns a null +string. +

The canonical name of a DNS node is its full name, or the full +name of the target of its CNAME. For example, if l.trolltech.com +is a CNAME to lillian.troll.no, and the search path for TQDns is +"trolltech.com", then the canonical name for all of "lillian", +"l", "lillian.troll.no." and "l.trolltech.com" is +"lillian.troll.no.". + +

TQStringList TQDns::hostNames () const +

+Returns a list of host names if the record type is Ptr. +

Note that if you want to iterate over the list, you should iterate +over a copy, e.g. +

+    TQStringList list = myDns.hostNames();
+    TQStringList::Iterator it = list.begin();
+    while( it != list.end() ) {
+        myProcessing( *it );
+        ++it;
+    }
+    
+ +

+

bool TQDns::isWorking () const +

+Returns TRUE if TQDns is doing a lookup for this object (i.e. if it +does not already have the necessary information); otherwise +returns FALSE. +

TQDns emits the resultsReady() signal when the status changes to FALSE. + +

Example: network/mail/smtp.cpp. +

TQString TQDns::label () const +

+ +

Returns the domain name for which this object returns information. +

See also setLabel(). + +

TQValueList<MailServer> TQDns::mailServers () const +

+Returns a list of mail servers if the record type is Mx. The +class TQDns::MailServer contains the following public variables: + +

Note that if you want to iterate over the list, you should iterate +over a copy, e.g. +

+    TQValueList<TQDns::MailServer> list = myDns.mailServers();
+    TQValueList<TQDns::MailServer>::Iterator it = list.begin();
+    while( it != list.end() ) {
+        myProcessing( *it );
+        ++it;
+    }
+    
+ +

+

Example: network/mail/smtp.cpp. +

TQStringList TQDns::qualifiedNames () const +

+ +

Returns a list of the fully qualified names label() maps to. +

Note that if you want to iterate over the list, you should iterate +over a copy, e.g. +

+    TQStringList list = myDns.qualifiedNames();
+    TQStringList::Iterator it = list.begin();
+    while( it != list.end() ) {
+        myProcessing( *it );
+        ++it;
+    }
+    
+ +

+

RecordType TQDns::recordType () const +

+ +

Returns the record type of this DNS query object. +

See also setRecordType() and RecordType. + +

void TQDns::resultsReady () [signal] +

+ +

This signal is emitted when results are available for one of the +qualifiedNames(). + +

Example: network/mail/smtp.cpp. +

TQValueList<Server> TQDns::servers () const +

+Returns a list of servers if the record type is Srv. The class +TQDns::Server contains the following public variables: + +

Note that if you want to iterate over the list, you should iterate +over a copy, e.g. +

+    TQValueList<TQDns::Server> list = myDns.servers();
+    TQValueList<TQDns::Server>::Iterator it = list.begin();
+    while( it != list.end() ) {
+        myProcessing( *it );
+        ++it;
+    }
+    
+ + +

void TQDns::setLabel ( const TQString & label ) [virtual] +

+Sets this DNS query object to query for information about label. +

This does not change the recordType(), but its isWorking() status +will probably change as a result. +

The DNS lookup is started the next time the application enters the +event loop. When the result is found the signal resultsReady() is +emitted. + +

void TQDns::setLabel ( const TQHostAddress & address ) [virtual] +

+This is an overloaded member function, provided for convenience. It behaves essentially like the above function. +

Sets this DNS query object to query for information about the host +address address. The label is set to the IN-ADDR.ARPA domain +name. This is useful in combination with the Ptr record type +(e.g. if you want to look up a hostname for a given address). + +

void TQDns::setRecordType ( RecordType rr = A ) [virtual] +

+Sets this object to query for record type rr records. +

The DNS lookup is started the next time the application enters the +event loop. When the result is found the signal resultsReady() is +emitted. +

See also RecordType. + +

TQStringList TQDns::texts () const +

+Returns a list of texts if the record type is Txt. +

Note that if you want to iterate over the list, you should iterate +over a copy, e.g. +

+    TQStringList list = myDns.texts();
+    TQStringList::Iterator it = list.begin();
+    while( it != list.end() ) {
+        myProcessing( *it );
+        ++it;
+    }
+    
+ + + +

+This file is part of the TQt toolkit. +Copyright © 1995-2007 +Trolltech. All Rights Reserved.


+ +
Copyright © 2007 +TrolltechTrademarks +
TQt 3.3.8
+
+ -- cgit v1.2.1