ucommon  7.0.0
About: GNU uCommon C++ is a portable and optimized class framework for writing C++ applications that need to use threads and support concurrent synchronization, and that use sockets, XML parsing, object serialization, thread-optimized string and data structure classes, etc..
  Fossies Dox: ucommon-7.0.0.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

Loading...
Searching...
No Matches
ost::IPV4Host Class Reference

This object is used to hold the actual and valid internet address of a specific host machine that will be accessed through a socket. More...

#include <address.h>

Inheritance diagram for ost::IPV4Host:
[legend]
Collaboration diagram for ost::IPV4Host:
[legend]

Public Member Functions

 IPV4Host (const char *host=NULL)
 Create a new host address for a specific internet host. More...
 
 IPV4Host (struct in_addr addr)
 Convert a system socket binary address such as may be returned through the accept() call or getsockpeer() into an internet host address object. More...
 
IPV4Addressoperator= (in_addr_t addr)
 Allows assignment from the return of functions like inet_addr() or htonl() More...
 
IPV4Hostoperator&= (const IPV4Mask &mask)
 Mask the internet host address object with a network mask address. More...
 
- Public Member Functions inherited from ost::IPV4Address
 IPV4Address (const IPV4Validator *validator=NULL)
 Create an Internet Address object with an empty (0.0.0.0) address. More...
 
 IPV4Address (struct in_addr addr, const IPV4Validator *validator=NULL)
 Convert the system internet address data type (struct in_addr) into a Common C++ IPV4Address object. More...
 
 IPV4Address (const char *address, const IPV4Validator *validator=NULL)
 Convert a null terminated ASCII host address string (example: "127.0.0.1") or host address name (example: "www.voxilla.org") directly into a Common C++ IPV4Address object. More...
 
 IPV4Address (const IPV4Address &rhs)
 Copy constructor. More...
 
virtual ~IPV4Address ()
 Destructor. More...
 
const char * getHostname (void) const
 Provide a string representation of the value (Internet Address) held in the IPV4Address object. More...
 
bool isInetAddress (void) const
 May be used to verify if a given IPV4Address returned by another function contains a "valid" address, or "0.0.0.0" which is often used to mark "invalid" IPV4Address values. More...
 
struct in_addr getAddress (void) const
 Provide a low level system usable struct in_addr object from the contents of IPV4Address. More...
 
struct in_addr getAddress (size_t i) const
 Provide a low level system usable struct in_addr object from the contents of IPV4Address. More...
 
size_t getAddressCount () const
 Returns the number of internet addresses that an IPV4Address object contains. More...
 
IPV4Addressoperator= (const char *str)
 
IPV4Addressoperator= (struct in_addr addr)
 
IPV4Addressoperator= (const IPV4Address &rhs)
 
IPV4Addressoperator= (in_addr_t addr)
 Allows assignment from the return of functions like inet_addr() or htonl() More...
 
 operator bool () const
 
bool operator! () const
 
bool operator== (const IPV4Address &a) const
 Compare two internet addresses to see if they are equal (if they specify the physical address of the same internet host). More...
 
bool operator!= (const IPV4Address &a) const
 Compare two internet addresses to see if they are not equal (if they each refer to unique and different physical ip addresses). More...
 

Static Private Attributes

static IPV4Host _host_
 

Friends

class IPV4Mask
 
__EXPORT IPV4Host operator& (const IPV4Host &addr, const IPV4Mask &mask)
 

Additional Inherited Members

- Protected Member Functions inherited from ost::IPV4Address
bool setIPAddress (const char *host)
 Sets the IP address from a string representation of the numeric address, ie "127.0.0.1". More...
 
void setAddress (const char *host)
 Used to specify a host name or numeric internet address. More...
 
- Protected Attributes inherited from ost::IPV4Address
struct in_addr * ipaddr
 
size_t addr_count
 
char * hostname
 
- Static Protected Attributes inherited from ost::IPV4Address
static Mutex mutex
 

Detailed Description

This object is used to hold the actual and valid internet address of a specific host machine that will be accessed through a socket.

Author
David Sugar dyfet.nosp@m.@ost.nosp@m.el.co.nosp@m.m

Address of a specific Internet host machine.

Definition at line 578 of file address.h.

Constructor & Destructor Documentation

◆ IPV4Host() [1/2]

ost::IPV4Host::IPV4Host ( const char *  host = NULL)

Create a new host address for a specific internet host.

The internet host can be specified in a null terminated ASCII string and include either the physical host address or the DNS name of a host machine. Hence, an IPV4Host ("www.voxilla.org") can be directly declaired in this manner.

Defaults to the IP address that represents the interface matching "gethostname()".

Parameters
hostdns or physical address of an Internet host.

Definition at line 278 of file address.cpp.

References _host_, and ost::IPV4Address::setAddress().

Here is the call graph for this function:

◆ IPV4Host() [2/2]

ost::IPV4Host::IPV4Host ( struct in_addr  addr)

Convert a system socket binary address such as may be returned through the accept() call or getsockpeer() into an internet host address object.

Parameters
addrbinary address of internet host.

Definition at line 275 of file address.cpp.

Member Function Documentation

◆ operator&=()

IPV4Host & ost::IPV4Host::operator&= ( const IPV4Mask mask)

Mask the internet host address object with a network mask address.

This is commonly used to coerce an address by subnet.

Definition at line 258 of file address.cpp.

References ost::IPV4Address::addr_count, ost::delString(), ost::IPV4Address::getAddress(), ost::IPV4Address::hostname, and ost::IPV4Address::ipaddr.

Here is the call graph for this function:

◆ operator=()

IPV4Address & ost::IPV4Host::operator= ( in_addr_t  addr)
inline

Allows assignment from the return of functions like inet_addr() or htonl()

Definition at line 611 of file address.h.

References ucommon::addr().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ IPV4Mask

friend class IPV4Mask
friend

Definition at line 621 of file address.h.

◆ operator&

__EXPORT IPV4Host operator& ( const IPV4Host addr,
const IPV4Mask mask 
)
friend

This can be done by taking the Inet Host Address object and "and"ing it with an address mask. This operation can be directly expressed in C++ through the & operator.

Returns
a internet host address that has been masked.
Parameters
addrhost address to be masked by subnet.
maskinetnet mask address object to mask by.

Definition at line 461 of file address.cpp.

Member Data Documentation

◆ _host_

IPV4Host ost::IPV4Host::_host_
staticprivate

Definition at line 581 of file address.h.

Referenced by IPV4Host().


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