gloox  1.0.20
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 Schröter js@ca.nosp@m.maya.nosp@m..net
Since
0.3

Definition at line 61 of file dns.h.

Member Typedef Documentation

◆ HostMap

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

◆ closeSocket()

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 514 of file dns.cpp.

◆ connect() [1/2]

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 317 of file dns.cpp.

◆ connect() [2/2]

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 458 of file dns.cpp.

◆ getSocket()

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 335 of file dns.cpp.

◆ resolve() [1/2]

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 202 of file dns.cpp.

◆ resolve() [2/2]

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: