ReplicaNet and RNLobby  1
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
XPAddress Struct Reference

#include <XPSocket.h>

Public Member Functions

 XPAddress (const int port, unsigned char addr1, unsigned char addr2, unsigned char addr3, unsigned char addr4)
 
 XPAddress (const int port)
 
 XPAddress (std::string addr)
 
 XPAddress ()
 
std::string Export (void) const
 
bool Import (const std::string address)
 
void MakeAny (const int port=XPSOCK_PORT_ANY)
 
bool IsLocalhost (void) const
 
bool operator== (const XPAddress &b) const
 
bool operator!= (const XPAddress &b) const
 
bool operator< (const XPAddress &b) const
 

Static Public Member Functions

static XPAddress Null (void)
 

Public Attributes

int port
 
unsigned char addr [4]
 
int port6
 
unsigned char addr6 [16]
 
bool mIPv4
 
bool mIPv6
 

Detailed Description

This is an address that the sockets use

Constructor & Destructor Documentation

XPAddress ( const int  port,
unsigned char  addr1,
unsigned char  addr2,
unsigned char  addr3,
unsigned char  addr4 
)

ctor for XPAddress that allows the structure to be constructed in a C++ fashion

References XPAddress::port.

XPAddress ( const int  port)

ctor for XPAddress that allows the structure to be constructed in a C++ fashion. The address component is initialised to be any incoming address.

References XPAddress::MakeAny().

XPAddress ( std::string  addr)

ctor that accepts a std::string in the format as Import().

References XPAddress::Import().

XPAddress ( )

default ctor, no address types set.

Member Function Documentation

std::string Export ( void  ) const

Exports the XPAddress as a std::string

Returns
returns the std::string version of this XPAddress

References XPAddress::addr6, XPAddress::port, and XPAddress::port6.

Referenced by MyService::Main().

bool Import ( const std::string  address)

Imports an address string in IPv4 or IPv6 formats. For example: "127.0.0.1:80-[1000:a123:0000:0000:0000:0000:12ab:12ab]:80" or "127.0.0.1:80" or "[1234::1bcd:4321:1234:43bc]:80"

Parameters
addressThe address in x.x.x.x:x format.
Returns
true is a successful import, false indicates there was a formatting error within the string.

References XPAddress::addr6, XPAddress::MakeAny(), XPAddress::port, and XPAddress::port6.

Referenced by XPAddress::XPAddress().

bool IsLocalhost ( void  ) const
Returns
Returns true if this XPAddress is localhost for IPv6 or IPv6

References XPAddress::addr6.

void MakeAny ( const int  port = XPSOCK_PORT_ANY)

Sets this address to be for any incoming address with an optional port number.

References XPAddress::addr6, XPAddress::port, and XPAddress::port6.

Referenced by XPAddress::Import(), XPAddress::XPAddress(), XPSock_Listen(), and XPSock_UrgentCreate().

XPAddress Null ( void  )
static
Returns
Returns XPAddress(0,0,0,0,0)

References XPAddress::addr.

Member Data Documentation

unsigned char addr[4]
unsigned char addr6[16]
int port
int port6