# ACEXML_URL_Addr Class Reference

`#include <ACEXML/common/URL_Addr.h>`

Inheritance diagram for ACEXML_URL_Addr:

[legend]
Collaboration diagram for ACEXML_URL_Addr:

[legend]
List of all members.

## Public Member Functions

| ACEXML_URL_Addr (void)
| Initialization and termination methods.
| ACEXML_URL_Addr (const ACEXML_Char *host_name, const ACEXML_Char *path_name, unsigned short port=ACE_DEFAULT_HTTP_PORT)
| Constructor.
| ACEXML_URL_Addr (const ACEXML_URL_Addr &addr)
| Copy constructor.
int | set (const ACEXML_URL_Addr &addr)
| Essentially the copy constructor.
virtual int | string_to_addr (const ACEXML_Char *address)
virtual int | addr_to_string (ACEXML_Char *s, size_t size, int ipaddr_format=1) const
virtual const ACEXML_Char * | addr_to_string (int ipaddr_format=1)
void | operator= (const ACEXML_URL_Addr &addr)
| Assignment operator.
| ~ACEXML_URL_Addr (void)
| Destructor.
bool | operator== (const ACEXML_URL_Addr &SAP) const
bool | operator!= (const ACEXML_URL_Addr &SAP) const
| Compare two addresses for inequality.
virtual u_long | hash (void) const
| Computes and returns hash value.
const ACEXML_Char * | get_path_name (void) const
| Return the path name.
int | destroy (void)
| Commit suicide.

## Private Member Functions

size_t | calculate_length (int ipaddr_format) const
| Calculate the maximum length of the address string.

## Private Attributes

ACEXML_Char * | path_name_
| Our path name.
ACEXML_Char * | addr_string_
size_t | addr_string_len_
| Current length of the <addr_string_>.

## Detailed Description

Defines a URL address family address format.

## Constructor & Destructor Documentation

ACEXML_URL_Addr::ACEXML_URL_Addr | ( | void |  | ) |

| Initialization and termination methods.

ACEXML_URL_Addr::ACEXML_URL_Addr | ( | const ACEXML_Char * | host_name,
|  | const ACEXML_Char * | path_name,
|  | unsigned short | port = `ACE_DEFAULT_HTTP_PORT`
| ) |

| Constructor.

ACEXML_URL_Addr::ACEXML_URL_Addr | ( | const ACEXML_URL_Addr & | addr | ) |

| Copy constructor.

ACEXML_URL_Addr::~ACEXML_URL_Addr | ( | void |  | ) |

| Destructor.

## Member Function Documentation

const ACEXML_Char * ACEXML_URL_Addr::addr_to_string | ( | int | ipaddr_format = `1` | ) | `[virtual]`

Transform the current <ace_inet_addr> address into string format. If <ipaddr_format> is non-0 this produces "ip-number:port-number/path-name" (e.g., "128.252.166.57:80/~schmidt/"), whereas if <ipaddr_format> is 0 this produces "ip-name:port-number" (e.g., "www.cs.wustl.edu:80/~schmidt/"). Uses dynamic memory, which is allocated on demand and deallocated when the object is destroyed. Returns -1 if dynamic memory fails, else 0.

int ACEXML_URL_Addr::addr_to_string | ( | ACEXML_Char * | s,
|  | size_t | size,
|  | int | ipaddr_format = `1`
| ) | const`[virtual]`

| Transform the current <ace_inet_addr> address into string format. If <ipaddr_format> is non-0 this produces "ip-number:port-number/path-name" (e.g., "128.252.166.57:80/~schmidt/"), whereas if <ipaddr_format> is 0 this produces "ip-name:port-number" (e.g., "www.cs.wustl.edu:80/~schmidt/"). Returns -1 if the <size> of the <buffer> is too small, else 0.

ACE_INLINE size_t ACEXML_URL_Addr::calculate_length | ( | int | ipaddr_format | ) | const`[private]`

| Calculate the maximum length of the address string.

ACE_INLINE int ACEXML_URL_Addr::destroy | ( | void |  | ) |

| Commit suicide.

ACE_INLINE const ACEXML_Char * ACEXML_URL_Addr::get_path_name | ( | void |  | ) | const

| Return the path name.

ACE_INLINE u_long ACEXML_URL_Addr::hash | ( | void |  | ) | const`[virtual]`

| Computes and returns hash value. Reimplemented from ACE_INET_Addr.

ACE_INLINE bool ACEXML_URL_Addr::operator!= | ( | const ACEXML_URL_Addr & | SAP | ) | const

| Compare two addresses for inequality.

ACE_INLINE void ACEXML_URL_Addr::operator= | ( | const ACEXML_URL_Addr & | addr | ) |

| Assignment operator.

ACE_INLINE bool ACEXML_URL_Addr::operator== | ( | const ACEXML_URL_Addr & | SAP | ) | const

| Compare two addresses for equality. The addresses are considered equal if they contain the same IP address, port number, and path name.

int ACEXML_URL_Addr::set | ( | const ACEXML_URL_Addr & | addr | ) |

| Essentially the copy constructor.

int ACEXML_URL_Addr::string_to_addr | ( | const ACEXML_Char * | address | ) | `[virtual]`

| Initializes an <acexml_url_addr> from the <address>, which can be "ip-number:port-number/path-name" (e.g., "www.cs.wustl.edu:1234/~schmidt/" "ip-number:port-number/path-name" (e.g., "128.252.166.57:1234/~schmidt"). If there is no ':' in the <address> it is assumed to be an ip-number or ip-address number, with the port number <ace_default_http_port>.

## Member Data Documentation

ACEXML_Char* ACEXML_URL_Addr::addr_string_`[private]`

| The dynamically created address string that's used for the <addr_to_string> method.

size_t ACEXML_URL_Addr::addr_string_len_`[private]`

| Current length of the <addr_string_>.

ACEXML_Char* ACEXML_URL_Addr::path_name_`[private]`

| Our path name.

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

- URL_Addr.h
- URL_Addr.cpp
- URL_Addr.inl