ASSA::UNIXAddress Class Reference

#include <UNIXAddress.h>

Inheritance diagram for ASSA::UNIXAddress:
ASSA::Address

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

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Thu Sep 24 21:53:02 2009 for libassa by  doxygen 1.6.1