gloox  0.9.9.12
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 &domain, const LogSink &logInstance)
static int connect (const std::string &domain, unsigned short port, const LogSink &logInstance)
static int getSocket ()
static void closeSocket (int fd)

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 55 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 62 of file dns.h.

Member Function Documentation

void closeSocket ( int  fd)
static

Closes the given socket.

Parameters
fdThe socket to close.

Definition at line 311 of file dns.cpp.

int connect ( const std::string &  domain,
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
domainThe domain to resolve SRV records for.
logInstanceA LogSink to use for logging.
Returns
A file descriptor for the established connection.

Definition at line 212 of file dns.cpp.

int connect ( const std::string &  domain,
unsigned short  port,
const LogSink logInstance 
)
static

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

Parameters
domainThe domain 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 259 of file dns.cpp.

int getSocket ( )
static

Prepares and returnes a simple socket.

Returns
A simple socket.

Definition at line 229 of file dns.cpp.

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

This funtion 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 190 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 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 84 of file dns.h.


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