libBsdSockets
C++ Wrapper classes to the BSD Socket API
BsdSockets::Address Class Referenceabstract

Base class for all addresses. More...

#include <Address.h>

Inheritance diagram for BsdSockets::Address:

Public Types

typedef std::shared_ptr< AddressPtr
 

Public Member Functions

virtual ~Address ()
 
SocketDomain getSocketDomain () const
 
SocketType getSocketType () const
 
int getProtocol () const
 
virtual std::shared_ptr< LowLevelAddressmakeTempLowLevelAddress () const =0
 
virtual Address::Ptr create (std::shared_ptr< LowLevelAddress > lowLevelAddress) const =0
 
virtual const LowLevelAddressgetLowLevelAddress () const =0
 

Protected Member Functions

 Address (SocketDomain theSocketDomain, SocketType theSocketType, int theProtocol)
 
 Address (const Address &rhs)
 

Detailed Description

Base class for all addresses.

Provides common information for all types of addresses and a pure-virtual method to access the LowLevelAddress.

Definition at line 36 of file Address.h.

Member Typedef Documentation

◆ Ptr

typedef std::shared_ptr<Address> BsdSockets::Address::Ptr
Examples
CommandServerExample.cpp, and EchoServerExample.cpp.

Definition at line 38 of file Address.h.

Constructor & Destructor Documentation

◆ ~Address()

BsdSockets::Address::~Address ( )
virtual

Virtual destructor to support derived classes

Definition at line 22 of file Address.cpp.

◆ Address() [1/2]

BsdSockets::Address::Address ( SocketDomain  theSocketDomain,
SocketType  theSocketType,
int  theProtocol 
)
protected

Create from parameters

Parameters
theSocketDomainthe SocketDomain for the Address
theSocketTypethe SocketType for the Address
theProtocolthe low-level protocol for the address

Definition at line 25 of file Address.cpp.

◆ Address() [2/2]

BsdSockets::Address::Address ( const Address rhs)
protected

Copy from another Address

Parameters
rhsthe Address to copy

Definition at line 30 of file Address.cpp.

Member Function Documentation

◆ create()

virtual Address::Ptr BsdSockets::Address::create ( std::shared_ptr< LowLevelAddress lowLevelAddress) const
pure virtual

Create a new Address from a LowLevelAddress using this Address as a template.

Parameters
lowLevelAddressdata to create from
Returns
Address created

Implemented in BsdSockets::LocalAddress, and BsdSockets::InetAddress.

◆ getLowLevelAddress()

virtual const LowLevelAddress& BsdSockets::Address::getLowLevelAddress ( ) const
pure virtual

Method for derived classes to provide access to the LowLevelAddress information

Implemented in BsdSockets::LocalAddress, and BsdSockets::InetAddress.

◆ getProtocol()

int BsdSockets::Address::getProtocol ( ) const
Returns
the low-level protocol of the Address

Definition at line 43 of file Address.cpp.

◆ getSocketDomain()

SocketDomain BsdSockets::Address::getSocketDomain ( ) const
Returns
the SocketDomain of the Address

Definition at line 35 of file Address.cpp.

◆ getSocketType()

SocketType BsdSockets::Address::getSocketType ( ) const
Returns
the SocketType of the Address

Definition at line 39 of file Address.cpp.

◆ makeTempLowLevelAddress()

virtual std::shared_ptr<LowLevelAddress> BsdSockets::Address::makeTempLowLevelAddress ( ) const
pure virtual
Returns
a LowLevelAddress suitable for create()

Implemented in BsdSockets::LocalAddress, and BsdSockets::InetAddress.


The documentation for this class was generated from the following files: