ACEXML  6.1.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes
ACEXML_URL_Addr Class Reference

#include <URL_Addr.h>

Inheritance diagram for ACEXML_URL_Addr:
Inheritance graph
[legend]
Collaboration diagram for ACEXML_URL_Addr:
Collaboration graph
[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, int address_family=AF_UNSPEC)
virtual int addr_to_string (ACEXML_Char *s, size_t size, int ipaddr_format=1) const
virtual const ACEXML_Charaddr_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_Charget_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_Charpath_name_
 Our path name.
ACEXML_Charaddr_string_
size_t addr_string_len_
 Current length of the <addr_string_>

Detailed Description

Defines a URL address family address format.


Constructor & Destructor Documentation

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.

Copy constructor.

Destructor.


Member Function Documentation

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.

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.

ACE_INLINE size_t ACEXML_URL_Addr::calculate_length ( int  ipaddr_format) const
private

Calculate the maximum length of the address string.

Commit suicide.

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,
int  address_family = AF_UNSPEC 
)
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

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

Current length of the <addr_string_>

Our path name.


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