Conexus::IPv6::IP Class Reference
[Classes for communicating via IP version 6 socketsClasses for communicating via IP version 6 socketsClasses for communicating via IP version 6 sockets]

#include <conexus/ipv6_ip.h>

Inheritance diagram for Conexus::IPv6::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 address association, multicasting capabilities and of course, ports.

This class also stores an internal address object representing a local address 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 Types

typedef ConexusPointer< IPpointer
 Class typedef to smart pointer.

Public Member Functions

virtual void bind () throw ( bind_exception )
 Attempts to bind this socket to the internal address.
virtual void bind (const Conexus::Address &a) throw ( bind_exception )
virtual void connect () throw ( connect_exception )
virtual void connect (const Address &a) throw ( connect_exception )
virtual Address & local_address ()
virtual Address & remote_address ()
virtual IPAddressgeneric_local_address ()
virtual IPAddressgeneric_remote_address ()
virtual void set_remote_address (const Address &addr)
virtual void set_remote_address (uint32_t addr, uint16_t port)
virtual void set_remote_address (const struct in6_addr &addr, uint16_t port)
virtual void set_remote_address (const std::string &addr, uint16_t port)
virtual void unset_remote_address ()
virtual void set_local_address (const Address &addr)
virtual void set_local_address (uint32_t addr, uint16_t port)
virtual void set_local_address (const struct in6_addr &addr, uint16_t port)
virtual void set_local_address (const std::string &addr, uint16_t port)
 IP (int type=-1, int protocol=0)
 Default constructor which sets the socket domain to PF_INET6 but does not provide a socket type or protocol.
virtual void bind () throw (bind_exception)
 Attempts to bind this socket to the internal address.
virtual Address & local_interface ()
virtual Address & remote_address ()
virtual IPAddressgeneric_local_interface ()
virtual IPAddressgeneric_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 ()
 IP (int type=-1, int protocol=0)
 Default constructor which sets the socket domain to PF_INET6 but does not provide a socket type or protocol.
virtual void bind () throw (bind_exception)
 Attempts to bind this socket to the internal address.
virtual Address & local_interface ()
virtual Address & remote_address ()
virtual IPAddressgeneric_local_interface ()
virtual IPAddressgeneric_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

 IP (int type=-1, int protocol=0)
 Default constructor which sets the socket domain to PF_INET6 but does not provide a socket type or protocol.
virtual void on_local_address_changed ()
virtual void on_remote_address_changed ()
void on_local_address_changed_proxy ()
void on_remote_address_changed_proxy ()
virtual void bind (Conexus::Address &a) throw (bind_exception)
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)
virtual void bind (Conexus::Address &a) throw (bind_exception)
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_address
Address m_remote_address
bool m_remote_address_set
Address m_local_interface


The documentation for this class was generated from the following files:
Generated on Tue Mar 13 19:55:13 2007 by  doxygen 1.5.1