Conexus::IPv4::IP Class Reference
[Classes for communicating via IP version 4 sockets]

#include <conexus/ipv4_ip.h>

Inheritance diagram for Conexus::IPv4::IP:

Inheritance graph
[legend]
List of all members.

Detailed Description

This class serves as the base class for all IPv4 communication classes.

All child classes such as UDP and TCP inherit the association of a local host address from this class as well as the concept of interface association, multicasting capabilities and of course, ports.

This class also stores an internal address object representing a local interface object. All BSD socket API functions (such as bind) that require a sockaddr_in structure will be provided this internal attribute. Therefore, it is the responsibility of children such as UDP and TCP to make the appropriate modifications to this protected attribute.

Author:
Rick L Vinyard Jr <rvinyard@cs.nmsu.edu>


Public Member Functions

 IP (int type=-1, int protocol=0)
 Default constructor which sets the socket domain to PF_INET but does not provide a socket type or protocol.
virtual void bind () throw (bind_error)
 Attempts to bind this socket to the internal address.
virtual Addresslocal_interface ()
virtual Addressremote_address ()
virtual Conexus::IPBase::AddressBasegeneric_local_interface ()
virtual Conexus::IPBase::AddressBasegeneric_remote_address ()
virtual void set_remote_address (Address addr)
virtual void unset_remote_address ()
virtual void set_local_interface (Address addr)
virtual const std::string & object_type ()

Protected Member Functions

virtual void bind (Conexus::Address &a) throw (bind_error)
virtual void on_local_interface_changed (unsigned which)
virtual void on_remote_address_changed (unsigned which)
void on_local_interface_changed_proxy (unsigned which)
void on_remote_address_changed_proxy (unsigned which)

Protected Attributes

Address m_local_interface
Address m_remote_address
bool m_remote_address_set


The documentation for this class was generated from the following files:
Generated on Sun Aug 6 12:17:14 2006 by  doxygen 1.4.6