00001 // -*- c++ -*- 00002 //------------------------------------------------------------------------------ 00003 // UNIXAddress.h 00004 //------------------------------------------------------------------------------ 00005 // Copyright (c) 1999 by Vladislav Grinchenko 00006 // 00007 // This library is free software; you can redistribute it and/or 00008 // modify it under the terms of the GNU Library General Public 00009 // License as published by the Free Software Foundation; either 00010 // version 2 of the License, or (at your option) any later version. 00011 //------------------------------------------------------------------------------ 00012 // Created: 03/22/99 00013 //------------------------------------------------------------------------------ 00014 #ifndef UNIX_ADDRESS_H 00015 #define UNIX_ADDRESS_H 00016 00017 #include "assa/Address.h" 00018 00019 namespace ASSA { 00020 00026 class UNIXAddress : public Address { 00027 public: 00031 UNIXAddress (const char * socket_name_); 00032 00036 UNIXAddress (SA* socket_address_); 00037 00039 virtual ~UNIXAddress (); 00040 00042 const int getLength () const; 00043 00045 SA* getAddress () const; 00046 00047 private: 00049 SA_UN m_address; 00050 }; 00051 00052 inline 00053 UNIXAddress:: 00054 ~UNIXAddress () { trace("UNIXAddress::~UNIXAddress"); } 00055 00056 inline const int 00057 UNIXAddress:: 00058 getLength () const { return sizeof (m_address); } 00059 00060 inline SA* 00061 UNIXAddress:: 00062 getAddress () const { return (SA*) &m_address; } 00063 00064 } // end namespace ASSA 00065 00066 #endif /* UNIX_ADDRESS_H */