ACE_ATM_Addr Class Reference

Defines the ATM domain address family address format. More...

#include <ATM_Addr.h>

Inheritance diagram for ACE_ATM_Addr:
Inheritance graph
[legend]
Collaboration diagram for ACE_ATM_Addr:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ACE_ATM_Addr (u_char selector=DEFAULT_SELECTOR)
 Default constructor.
 ACE_ATM_Addr (const ACE_ATM_Addr &, u_char selector=DEFAULT_SELECTOR)
 Copy constructor.
 ACE_ATM_Addr (const ATM_Addr *, u_char selector=DEFAULT_SELECTOR)
 ACE_ATM_Addr (const ACE_TCHAR sap[], u_char selector=DEFAULT_SELECTOR)
 ~ACE_ATM_Addr (void)
 Default dtor.
void init (u_char selector=DEFAULT_SELECTOR)
int set (const ACE_ATM_Addr &, u_char selector=DEFAULT_SELECTOR)
 Initializes from another ACE_ATM_Addr.
int set (const ATM_Addr *, u_char selector=DEFAULT_SELECTOR)
int set (const ACE_TCHAR sap[], u_char selector=DEFAULT_SELECTOR)
virtual int string_to_addr (const ACE_TCHAR sap[])
virtual int addr_to_string (ACE_TCHAR addr[], size_t addrlen) const
const ACE_TCHARaddr_to_string (void) const
virtual void * get_addr (void) const
 Return a pointer to the underlying network address.
virtual void set_addr (void *, int)
 Set a pointer to the address.
u_char get_selector (void) const
 Return the selector for network address.
void set_selector (u_char selector)
 Set the selector for the network address.
bool operator== (const ACE_ATM_Addr &SAP) const
bool operator!= (const ACE_ATM_Addr &SAP) const
 Compare two addresses for inequality.
void dump (void) const
 Dump the state of an object.

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.

Static Public Attributes

static const long LINE_RATE
static const int OPT_FLAGS_CPID
static const int OPT_FLAGS_PMP
static const int DEFAULT_SELECTOR

Private Attributes

ATM_Addr atm_addr_

Detailed Description

Defines the ATM domain address family address format.

Definition at line 59 of file ATM_Addr.h.


Constructor & Destructor Documentation

ACE_ATM_Addr::ACE_ATM_Addr ( u_char  selector = DEFAULT_SELECTOR  ) 

Default constructor.

ACE_ATM_Addr::ACE_ATM_Addr ( const ACE_ATM_Addr ,
u_char  selector = DEFAULT_SELECTOR 
)

Copy constructor.

ACE_ATM_Addr::ACE_ATM_Addr ( const ATM_Addr ,
u_char  selector = DEFAULT_SELECTOR 
)

Creates an ACE_ATM_Addr from an ATMSAPAddress structure. This is vendor specific (FORE systems). May need to change when other vendors are supported.

ACE_ATM_Addr::ACE_ATM_Addr ( const ACE_TCHAR  sap[],
u_char  selector = DEFAULT_SELECTOR 
)

Initializes an ACE_ATM_Addr from the <sap> which can be "atm-address" (e.g., "47.0005.80.ffe100.0000.f20f.2200.0020480694f9.00") or "hostname" (e.g., "frisbee.cs.wustl.edu").

ACE_ATM_Addr::~ACE_ATM_Addr ( void   ) 

Default dtor.


Member Function Documentation

const ACE_TCHAR* ACE_ATM_Addr::addr_to_string ( void   )  const

Return the character representation of the ATM address (e.g., "47.0005.80.ffe100.0000.f20f.2200.0020480694f9.00"). Returns -1 if the <size> of the <buffer> is too small, else 0.(This version is non-reentrant since it returns a pointer to a static data area.)

virtual int ACE_ATM_Addr::addr_to_string ( ACE_TCHAR  addr[],
size_t  addrlen 
) const [virtual]

Return the character representation of the ATM address (e.g., "47.0005.80.ffe100.0000.f20f.2200.0020480694f9.00") storing it in the addr (which is assumed to be <addrlen> bytes long). This version is reentrant. Returns -1 if the <addrlen> of the addr is too small, else 0.

void ACE_ATM_Addr::dump ( void   )  const

Dump the state of an object.

Reimplemented from ACE_Addr.

virtual void* ACE_ATM_Addr::get_addr ( void   )  const [virtual]

Return a pointer to the underlying network address.

Reimplemented from ACE_Addr.

u_char ACE_ATM_Addr::get_selector ( void   )  const

Return the selector for network address.

Definition at line 8 of file ATM_Addr.inl.

00009 {
00010   ACE_TRACE ("ACE_ATM_Addr::get_selector");
00011 #if defined (ACE_HAS_FORE_ATM_XTI)
00012   return atm_addr_.sap.t_atm_sap_addr.address[ATMNSAP_ADDR_LEN - 1];
00013 #elif defined (ACE_HAS_FORE_ATM_WS2)
00014   return atm_addr_.satm_number.Addr[ ATM_ADDR_SIZE - 1 ];
00015 #elif defined (ACE_HAS_LINUX_ATM)
00016   return atm_addr_.sockaddratmsvc.sas_addr.prv[ATM_ESA_LEN - 1];
00017 #else
00018   return 0;
00019 #endif /* ACE_HAS_FORE_ATM_XTI || ACE_HAS_FORE_ATM_WS2 || ACE_HAS_LINUX_ATM */
00020 }

void ACE_ATM_Addr::init ( u_char  selector = DEFAULT_SELECTOR  ) 

Default initialization for non-address values (e.g., t_atm_sap_addr.SVE_tag_addr, t_atm_sap_addr.SVE_tag_selector)

bool ACE_ATM_Addr::operator!= ( const ACE_ATM_Addr SAP  )  const

Compare two addresses for inequality.

Reimplemented from ACE_Addr.

bool ACE_ATM_Addr::operator== ( const ACE_ATM_Addr SAP  )  const

Compare two addresses for equality. The addresses are considered equal if they contain the same ATM address. Q: Is there any other check for equality needed for ATM?

Reimplemented from ACE_Addr.

int ACE_ATM_Addr::set ( const ACE_TCHAR  sap[],
u_char  selector = DEFAULT_SELECTOR 
)

Initializes an ACE_ATM_Addr from the <sap> which can be "atm-address" (e.g., "47.0005.80.ffe100.0000.f20f.2200.0020480694f9.00") or "hostname" (e.g., "frisbee.cs.wustl.edu").

int ACE_ATM_Addr::set ( const ATM_Addr ,
u_char  selector = DEFAULT_SELECTOR 
)

Initializes an ACE_ATM_Addr from an ATMSAPAddress/sockaddr_atm structure. This is vendor specific (FORE systems). May need to change when other vendors are supported.

int ACE_ATM_Addr::set ( const ACE_ATM_Addr ,
u_char  selector = DEFAULT_SELECTOR 
)

Initializes from another ACE_ATM_Addr.

virtual void ACE_ATM_Addr::set_addr ( void *  ,
int   
) [virtual]

Set a pointer to the address.

Reimplemented from ACE_Addr.

void ACE_ATM_Addr::set_selector ( u_char  selector  ) 

Set the selector for the network address.

Definition at line 23 of file ATM_Addr.inl.

00024 {
00025   ACE_TRACE ("ACE_ATM_Addr::set_selector");
00026 #if defined (ACE_HAS_FORE_ATM_XTI)
00027   atm_addr_.sap.t_atm_sap_addr.address[ATMNSAP_ADDR_LEN - 1] = selector;
00028 #elif defined (ACE_HAS_FORE_ATM_WS2)
00029   atm_addr_.satm_number.Addr[ ATM_ADDR_SIZE - 1 ] = selector;
00030 #elif defined (ACE_HAS_LINUX_ATM)
00031   atm_addr_.sockaddratmsvc.sas_addr.prv[ATM_ESA_LEN - 1] = selector;
00032 #else
00033   ACE_UNUSED_ARG (selector);
00034 #endif /* ACE_HAS_FORE_ATM_XTI || ACE_HAS_FORE_ATM_WS2 || ACE_HAS_LINUX_ATM */
00035 }

virtual int ACE_ATM_Addr::string_to_addr ( const ACE_TCHAR  sap[]  )  [virtual]

Initializes an ACE_ATM_Addr from the <sap> which can be "atm-address" (e.g., "47.0005.80.ffe100.0000.f20f.2200.0020480694f9.00") or "hostname" (e.g., "frisbee.cs.wustl.edu").


Member Data Documentation

Declare the dynamic allocation hooks.

Reimplemented from ACE_Addr.

Definition at line 175 of file ATM_Addr.h.

Definition at line 184 of file ATM_Addr.h.

const int ACE_ATM_Addr::DEFAULT_SELECTOR [static]

Definition at line 66 of file ATM_Addr.h.

const long ACE_ATM_Addr::LINE_RATE [static]

Definition at line 63 of file ATM_Addr.h.

const int ACE_ATM_Addr::OPT_FLAGS_CPID [static]

Definition at line 64 of file ATM_Addr.h.

const int ACE_ATM_Addr::OPT_FLAGS_PMP [static]

Definition at line 65 of file ATM_Addr.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Sat Nov 21 23:16:01 2009 for ACE by  doxygen 1.6.1