ASSA::UNIXAddress Class Reference

#include <UNIXAddress.h>

Inheritance diagram for ASSA::UNIXAddress:

Inheritance graph
[legend]
Collaboration diagram for ASSA::UNIXAddress:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 UNIXAddress (const char *socket_name_)
 Constructor.
 UNIXAddress (SA *socket_address_)
 Copy constructor.
virtual ~UNIXAddress ()
 Destructor.
const int getLength () const
 Retrieve address length.
SAgetAddress () const
 Retrieve underlying address structure.

Private Attributes

SA_UN m_address
 UNIX socket address structure.

Detailed Description

Definition at line 28 of file UNIXAddress.h.


Constructor & Destructor Documentation

UNIXAddress::UNIXAddress const char *  socket_name_  ) 
 

Constructor.

Parameters:
socket_name_ UNIX path name

Definition at line 22 of file UNIXAddress.cpp.

References ASSA::ASSAERR, ASSA::Address::badbit, EL, m_address, ASSA::Address::setstate(), and trace.

00023 {
00024     trace("UNIXAddress::UNIXAddress(char* name_)");
00025     
00026     size_t len;
00027     m_address.sun_family = AF_UNIX;
00028     
00029     if ( (len = strlen(socket_name_)) > sizeof(m_address.sun_path) ) {
00030         EL((ASSAERR,"Socket path name is too long (%d bytes)\n", len));
00031         setstate (Address::badbit);
00032     }
00033     strcpy (m_address.sun_path, socket_name_);
00034 }

UNIXAddress::UNIXAddress SA socket_address_  ) 
 

Copy constructor.

Parameters:
socket_address_ address to copy from

Definition at line 37 of file UNIXAddress.cpp.

References ASSA::ASSAERR, ASSA::Address::badbit, EL, m_address, ASSA::Address::setstate(), and trace.

00038 {
00039     trace("UNIXAddress::UNIXAddress(SA_UN*)");
00040 
00041     SA_UN* sa_un = (SA_UN*) saddr_;
00042     m_address.sun_family = AF_UNIX;
00043     
00044     size_t len = strlen(sa_un->sun_path);
00045 
00046     if ( len > sizeof (m_address.sun_path) - 1 ) {
00047         EL((ASSAERR,"Socket path name is too long (%d bytes)\n", len));
00048         setstate (Address::badbit);
00049     }
00050     strcpy(m_address.sun_path, sa_un->sun_path);
00051 }

ASSA::UNIXAddress::~UNIXAddress  )  [inline, virtual]
 

Destructor.

Definition at line 56 of file UNIXAddress.h.

References trace.

00056 { trace("UNIXAddress::~UNIXAddress"); }


Member Function Documentation

SA * ASSA::UNIXAddress::getAddress  )  const [inline, virtual]
 

Retrieve underlying address structure.

Implements ASSA::Address.

Definition at line 64 of file UNIXAddress.h.

References m_address.

Referenced by ASSA::ConUDPSocket::unconnect().

00064 { return (SA*) &m_address; }

const int ASSA::UNIXAddress::getLength  )  const [inline, virtual]
 

Retrieve address length.

Implements ASSA::Address.

Definition at line 60 of file UNIXAddress.h.

References m_address.

00060 { return sizeof (m_address); }


Member Data Documentation

SA_UN ASSA::UNIXAddress::m_address [private]
 

UNIX socket address structure.

Definition at line 51 of file UNIXAddress.h.

Referenced by getAddress(), getLength(), and UNIXAddress().


The documentation for this class was generated from the following files:
Generated on Sun Aug 13 15:08:22 2006 for libassa by  doxygen 1.4.6