ACEXML
6.1.0
|
#include <URL_Addr.h>
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_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_> |
Defines a URL address family address format.
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.
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.
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, |
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>.
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.