Socket name; container class for an IP address and port. More...

#include <socket_name.h>

Public Member Functions

 SocketName ()
 Constructs a new socket name. More...
 
 SocketName (const std::string &port)
 Constructs a SocketName. More...
 
 SocketName (const std::string &address, const std::string &port)
 Constructs a SocketName. More...
 
void from_sockaddr (int domain, sockaddr *addr, int len)
 Get the socket name from a C sockets sockaddr structure. More...
 
std::string get_address () const
 Returns the address part of the socket name. More...
 
std::string get_port () const
 Returns the port part of the socket name. More...
 
std::string lookup_hostname () const
 Perform a DNS lookup, if needed, for the hostname. More...
 
std::string lookup_ipv4 () const
 Perform a DNS lookup, if needed, for the IP v4 address. More...
 
bool operator< (const SocketName &other_instance) const
 Returns true if the other address is less. More...
 
bool operator== (const SocketName &other_instance) const
 Returns true if objects are the same. More...
 
bool operator> (const SocketName &other_instance) const
 Returns true if the other address is greater. More...
 
void set_address (const std::string &address)
 Set the IP address. More...
 
void set_name (const std::string &hostname, const std::string &port)
 Set the socket name using a hostname and port. More...
 
void set_port (const std::string &port)
 Set the IP port. More...
 
SocketName to_hostname ()
 Create socket name that uses the hostname as its address. More...
 
SocketName to_ipv4 ()
 Create socket name that uses the IP v4 address as its address. More...
 
void to_sockaddr (int domain, sockaddr *addr, int len) const
 Fill the socket name into a C sockets sockaddr structure. More...
 

Detailed Description

Socket name; container class for an IP address and port.

Constructor & Destructor Documentation

clan::SocketName::SocketName ( )

Constructs a new socket name.

If no address is specified, the socket address will default to INADDR_ANY. If no port is specified, it will default to port 0.

clan::SocketName::SocketName ( const std::string port)

Constructs a SocketName.

Parameters
port= String
clan::SocketName::SocketName ( const std::string address,
const std::string port 
)

Constructs a SocketName.

Parameters
address= String
port= String

Member Function Documentation

void clan::SocketName::from_sockaddr ( int  domain,
sockaddr *  addr,
int  len 
)

Get the socket name from a C sockets sockaddr structure.

std::string clan::SocketName::get_address ( ) const

Returns the address part of the socket name.

std::string clan::SocketName::get_port ( ) const

Returns the port part of the socket name.

std::string clan::SocketName::lookup_hostname ( ) const

Perform a DNS lookup, if needed, for the hostname.

std::string clan::SocketName::lookup_ipv4 ( ) const

Perform a DNS lookup, if needed, for the IP v4 address.

bool clan::SocketName::operator< ( const SocketName other_instance) const

Returns true if the other address is less.

This is used for sorting purposes (eg. if you use a std::map<SocketName, Socket>), and sorts the address based on lowest IP number address.

bool clan::SocketName::operator== ( const SocketName other_instance) const

Returns true if objects are the same.

bool clan::SocketName::operator> ( const SocketName other_instance) const

Returns true if the other address is greater.

This is used for sorting purposes (eg. if you use a std::map<SocketName, Socket>), and sorts the address based on lowest IP number address.

void clan::SocketName::set_address ( const std::string address)

Set the IP address.

void clan::SocketName::set_name ( const std::string hostname,
const std::string port 
)

Set the socket name using a hostname and port.

Parameters
hostnameCan be an IPv4 dotted-quad, hostname or a valid IPv6 address.
portPort number.
void clan::SocketName::set_port ( const std::string port)

Set the IP port.

SocketName clan::SocketName::to_hostname ( )

Create socket name that uses the hostname as its address.

SocketName clan::SocketName::to_ipv4 ( )

Create socket name that uses the IP v4 address as its address.

void clan::SocketName::to_sockaddr ( int  domain,
sockaddr *  addr,
int  len 
) const

Fill the socket name into a C sockets sockaddr structure.


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