Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

CL_DNSResolver Class Reference

#include <dns_resolver.h>

List of all members.

Public Types

enum  Status {
  status_success, status_name_not_found, status_data_not_found, status_timeout,
  status_error
}
 Operations:. More...

Public Member Functions

 CL_DNSResolver ()
 Construction:.
 ~CL_DNSResolver ()
Status lookup_resource (const CL_String &domain_name, const CL_String &resource_type, std::vector< CL_DNSResourceRecord > &out_records, int timeout=10000)

Private Member Functions

Status perform_query (const CL_String &domain_name, const CL_String &resource_type, std::vector< CL_DNSResourceRecord > &out_answer, std::vector< CL_DNSResourceRecord > &out_authority, std::vector< CL_DNSResourceRecord > &out_additional, int timeout, const CL_String &dns_server_name)
 Implementation:.
bool read_record (CL_ByteArray &packet, int &pos, CL_DNSResourceRecord &out_record)

Private Attributes

int next_query_id


Member Enumeration Documentation

enum CL_DNSResolver::Status
 

Operations:.

Enumeration values:
status_success 
status_name_not_found 
status_data_not_found 
status_timeout 
status_error 

Definition at line 50 of file dns_resolver.h.


Constructor & Destructor Documentation

CL_DNSResolver::CL_DNSResolver  ) 
 

Construction:.

Definition at line 41 of file dns_resolver.cpp.

CL_DNSResolver::~CL_DNSResolver  ) 
 

Definition at line 46 of file dns_resolver.cpp.


Member Function Documentation

CL_DNSResolver::Status CL_DNSResolver::lookup_resource const CL_String &  domain_name,
const CL_String &  resource_type,
std::vector< CL_DNSResourceRecord > &  out_records,
int  timeout = 10000
 

Definition at line 57 of file dns_resolver.cpp.

References CL_String, perform_query(), status_data_not_found, status_error, and TEXT.

CL_DNSResolver::Status CL_DNSResolver::perform_query const CL_String &  domain_name,
const CL_String &  resource_type,
std::vector< CL_DNSResourceRecord > &  out_answer,
std::vector< CL_DNSResourceRecord > &  out_authority,
std::vector< CL_DNSResourceRecord > &  out_additional,
int  timeout,
const CL_String &  dns_server_name
[private]
 

Implementation:.

Definition at line 97 of file dns_resolver.cpp.

References cl_log_event(), CL_TCPConnection::connect(), CL_DNSResourceRecord::find_domain_name_end(), FLAG_RD, CL_ByteArray::get_data(), CL_TCPConnection::get_read_event(), CL_ByteArray::get_size(), CL_Exception::message, next_query_id, OPCODE_QUERY, RCODE_FORMAT_ERROR, RCODE_NAME_ERROR, RCODE_NOT_IMPLEMENTED, RCODE_REFUSED, RCODE_SERVER_FAILURE, RCODE_SUCCESS, read_record(), CL_TCPConnection::receive(), CL_TCPConnection::send(), status_data_not_found, status_error, status_name_not_found, status_success, status_timeout, TEXT, CL_StringHelp::text_to_local8(), and CL_Event::wait().

Referenced by lookup_resource().

bool CL_DNSResolver::read_record CL_ByteArray packet,
int &  pos,
CL_DNSResourceRecord out_record
[private]
 

Definition at line 354 of file dns_resolver.cpp.

Referenced by perform_query().


Member Data Documentation

int CL_DNSResolver::next_query_id [private]
 

Definition at line 78 of file dns_resolver.h.

Referenced by perform_query().


The documentation for this class was generated from the following files:
Generated on Sat Feb 19 22:51:17 2005 for npcore by  doxygen 1.4.1