gloox  1.0
Public Types | Static Public Member Functions | List of all members
DNS Class Reference

#include <dns.h>

Public Types

typedef std::map< std::string,
int > 
HostMap

Static Public Member Functions

static HostMap resolve (const std::string &service, const std::string &proto, const std::string &domain, const LogSink &logInstance)
static HostMap resolve (const std::string &domain, const LogSink &logInstance)
static int connect (const std::string &host, const LogSink &logInstance)
static int connect (const std::string &host, int port, const LogSink &logInstance)
static int getSocket (const LogSink &logInstance)
static void closeSocket (int fd, const LogSink &logInstance)

Detailed Description

This class holds a number of static functions used for DNS related stuff.

You should not need to use these functions directly.

Author
Jakob Schroeter js@ca.nosp@m.maya.nosp@m..net
Since
0.3

Definition at line 61 of file dns.h.

Member Typedef Documentation

typedef std::map<std::string, int> HostMap

A list of strings (used for server addresses) and ints (used for port numbers).

Definition at line 68 of file dns.h.

Member Function Documentation

void closeSocket ( int  fd,
const LogSink logInstance 
)
static

Closes the given socket.

Parameters
fdThe socket to close.
logInstanceA LogSink to use for logging.

Definition at line 454 of file dns.cpp.

int connect ( const std::string &  host,
const LogSink logInstance 
)
static

This is a convenience function which uses resolve() to get a list of hosts and connects to one of them.

Parameters
hostThe host to resolve SRV records for.
logInstanceA LogSink to use for logging.
Returns
A file descriptor for the established connection.

Definition at line 314 of file dns.cpp.

int connect ( const std::string &  host,
int  port,
const LogSink logInstance 
)
static

This is a convenience function which connects to the given host and port. No SRV records are resolved. Use this function for special setups.

Parameters
hostThe host/IP address to connect to.
portA custom port to connect to.
logInstanceA LogSink to use for logging.
Returns
A file descriptor for the established connection.

Definition at line 401 of file dns.cpp.

int getSocket ( const LogSink logInstance)
static

A convenience function that prepares and returnes a simple, unconnected TCP socket.

Parameters
logInstanceA LogSink to use for logging.
Returns
A TCP socket.

Definition at line 332 of file dns.cpp.

DNS::HostMap resolve ( const std::string &  service,
const std::string &  proto,
const std::string &  domain,
const LogSink logInstance 
)
static

This function resolves a service/protocol/domain tuple.

Parameters
serviceThe SRV service type.
protoThe SRV protocol.
domainThe domain to search for SRV records.
logInstanceA LogSink to use for logging.
Returns
A list of weighted hostname/port pairs from SRV records, or A records if no SRV records where found.

Definition at line 198 of file dns.cpp.

static HostMap resolve ( const std::string &  domain,
const LogSink logInstance 
)
inlinestatic

This is a convenience funtion which uses resolve() to resolve SRV records for a given domain, using a service of xmpp-client and a proto of tcp.

Parameters
domainThe domain to resolve SRV records for.
logInstanceA LogSink to use for logging.
Returns
A list of weighted hostname/port pairs from SRV records, or A records if no SRV records where found.

Definition at line 90 of file dns.h.


The documentation for this class was generated from the following files: