Simple++
Powerfull and lightning fast C++ Library
|
Representing a struct addrinfo, all the info of an address without the "list" side ai_next is not used. This class can be down casted freely to struct addrinfo. Warning when using this class, you may prefer using Address Class which is more safer. More...
#include <AddrInfo.h>
Public Member Functions | |
AddrInfo (SockType sockType=SockType::TCP, IpFamily ipFamily=IpFamily::Undefined) | |
Create an AddrInfo from a SockType and an IpFamily. More... | |
AddrInfo (const String &address, const String &service, SockType sockType=SockType::TCP, IpFamily ipFamily=IpFamily::Undefined) | |
Constructor from a IP, Service, SockType and IpFamily. More... | |
AddrInfo (const String &address, const String &service, const AddrInfo &hints) | |
Constructor from a IP, Service, SockType and IpFamily. More... | |
AddrInfo (const AddrInfo &addrInfo) | |
Copy constructor. More... | |
AddrInfo (AddrInfo &&addrInfo) | |
move constructor More... | |
AddrInfo (const AddrInfo &addrInfo, SockType sockType, IpFamily ipFamily, unsigned short port) | |
Copy constructor with an another SockType, IpFamily and port. More... | |
AddrInfo (const struct addrinfo &addrInfo) | |
Copy constructor from an old-school struct addrinfo. More... | |
~AddrInfo () | |
destructor More... | |
const struct addrinfo * | getAddrInfoStruct () const |
get the old-school struct addrinfo inside this type. More... | |
void | setSockAddr (const struct sockaddr *sockAddr, size_t sockAddrLen) |
set the struct sockaddr contained inside this object More... | |
AddrInfo & | operator= (const AddrInfo &addrInfo) |
set the inside address More... | |
AddrInfo & | operator= (const struct addrinfo &addrInfo) |
copy operator from a old-school struct addrinfo More... | |
AddrInfo & | operator= (AddrInfo &&addrInfo) |
move operator More... | |
const struct sockaddr * | getSockAddr () const |
get the struct sockaddr of this object More... | |
void | newSockAddr (size_t newSize) |
set the struct sockaddr to a new one filled with 0 More... | |
void | setPort (const struct sockaddr *sockAddr) |
set the sockaddr port from an another sockaddr More... | |
size_t | getSockAddrLen () const |
get the length in bytes of the struct sockaddr More... | |
IpFamily | getIpFamily (const std::string &ip) |
get the IP family More... | |
unsigned short | getPort () const |
get the port More... | |
IpFamily | getIpFamily () const |
get the IP family More... | |
const String & | getIpFamilyS () const |
get the IP�family as a String More... | |
int | getProtocol () const |
get the Protocol More... | |
SockType | getSockType () const |
get the SockType (UDP or TCP) More... | |
const String & | getSockTypeS () const |
get the SockType as a String More... | |
void | setFlags (int flags) |
set flags More... | |
int | getFlags () const |
get Flags More... | |
void | addFlag (Flags flags) |
add a Flag to this object Flag to add More... | |
void | setCanonName (const String &name) |
set the CanonName of this object More... | |
String | getNameInfo () const |
getnameinfo() on the struct sockaddr inside this object More... | |
void | setPort (unsigned short port) |
set the sockaddr port More... | |
void | setIpFamily (IpFamily ipFamily) |
set the IP family of this addrinfo (this won't change the struct sockaddr and may corrupt this object) More... | |
void | setProtocol (int protocol) |
set the Protocol of this (this won't change the struct sockaddr and may corrupt this object) More... | |
void | setSockType (SockType sockType) |
set the SockType (TCP or UDP) (this won't change the struct sockaddr and may corrupt this object) More... | |
Static Public Member Functions | |
static String | getNameInfo (const struct sockaddr &sockAddr, size_t sockAddrLen) |
alias of getnameinfo() and cast the result to a String More... | |
static String | getNameInfo (const struct addrinfo &addrInfo) |
alias of getnameinfo() of the struct sockaddr inside the struct addrinfo More... | |
static unsigned short | getPort (const struct sockaddr &sockAddr) |
get the port a struct sockaddr as an unsigned short More... | |
Protected Types | |
enum | ctor { null } |
Protected Member Functions | |
AddrInfo (ctor) | |
Representing a struct addrinfo, all the info of an address without the "list" side ai_next is not used. This class can be down casted freely to struct addrinfo. Warning when using this class, you may prefer using Address Class which is more safer.
|
protected |
Network::AddrInfo::AddrInfo | ( | SockType | sockType = SockType::TCP , |
IpFamily | ipFamily = IpFamily::Undefined |
||
) |
Create an AddrInfo from a SockType and an IpFamily.
sockType | Type of the socket used for this connection (TCP or UDP) |
ipFamily | The IP family used for this connection (IPv4, IPv6 or both) |
Network::AddrInfo::AddrInfo | ( | const String & | address, |
const String & | service, | ||
SockType | sockType = SockType::TCP , |
||
IpFamily | ipFamily = IpFamily::Undefined |
||
) |
Constructor from a IP, Service, SockType and IpFamily.
address | to connect to (IP or domain name) |
service | Service to be used. |
sockType | SockType |
ipFamily | IpFamily |
Network::AddrInfo::AddrInfo | ( | const String & | address, |
const String & | service, | ||
const AddrInfo & | hints | ||
) |
Constructor from a IP, Service, SockType and IpFamily.
address | to connect to (IP or domain name) |
service | Service to be used. |
hints | Hints to be used (sockType, ipFamily, flags, protocol) |
Network::AddrInfo::AddrInfo | ( | const AddrInfo & | addrInfo | ) |
Copy constructor.
addrInfo | object to copy |
Network::AddrInfo::AddrInfo | ( | AddrInfo && | addrInfo | ) |
move constructor
addrInfo | object to be moved from |
Network::AddrInfo::AddrInfo | ( | const AddrInfo & | addrInfo, |
SockType | sockType, | ||
IpFamily | ipFamily, | ||
unsigned short | port | ||
) |
Copy constructor with an another SockType, IpFamily and port.
addrInfo | object to copy |
Network::AddrInfo::AddrInfo | ( | const struct addrinfo & | addrInfo | ) |
Copy constructor from an old-school struct addrinfo.
addrInfo | old-school struct addrinfo |
Network::AddrInfo::~AddrInfo | ( | ) |
destructor
|
protected |
void Network::AddrInfo::addFlag | ( | Flags | flags | ) |
add a Flag to this object Flag to add
const struct addrinfo * Network::AddrInfo::getAddrInfoStruct | ( | ) | const |
get the old-school struct addrinfo inside this type.
int Network::AddrInfo::getFlags | ( | ) | const |
get Flags
IpFamily Network::AddrInfo::getIpFamily | ( | const std::string & | ip | ) |
get the IP family
IpFamily Network::AddrInfo::getIpFamily | ( | ) | const |
get the IP family
const String & Network::AddrInfo::getIpFamilyS | ( | ) | const |
get the IP�family as a String
|
static |
alias of getnameinfo() and cast the result to a String
sockAddr | SockAddr from which to get the name |
sockAddrLen | length in bytes of the struct sockaddr |
|
static |
alias of getnameinfo() of the struct sockaddr inside the struct addrinfo
addrInfo | getnameinfo() will be executed to the struct sockaddr inside |
String Network::AddrInfo::getNameInfo | ( | ) | const |
getnameinfo() on the struct sockaddr inside this object
unsigned short Network::AddrInfo::getPort | ( | ) | const |
get the port
|
static |
get the port a struct sockaddr as an unsigned short
int Network::AddrInfo::getProtocol | ( | ) | const |
get the Protocol
const struct sockaddr * Network::AddrInfo::getSockAddr | ( | ) | const |
get the struct sockaddr of this object
size_t Network::AddrInfo::getSockAddrLen | ( | ) | const |
get the length in bytes of the struct sockaddr
SockType Network::AddrInfo::getSockType | ( | ) | const |
get the SockType (UDP or TCP)
const String & Network::AddrInfo::getSockTypeS | ( | ) | const |
get the SockType as a String
void Network::AddrInfo::newSockAddr | ( | size_t | newSize | ) |
set the struct sockaddr to a new one filled with 0
newSize | size in bytes of the new sockaddr |
set the inside address
ip | IP to look for |
service | Service to look for ("http", 80, ...) |
ipFamily | IPv4, IPv6 or Undefined to look for the two copy operator |
addrInfo | other object to copy |
AddrInfo & Network::AddrInfo::operator= | ( | const struct addrinfo & | addrInfo | ) |
copy operator from a old-school struct addrinfo
addrInfo | struct addrinfo to copy |
move operator
addrInfo | from which to move |
void Network::AddrInfo::setCanonName | ( | const String & | name | ) |
set the CanonName of this object
name | CanonName to set |
void Network::AddrInfo::setFlags | ( | int | flags | ) |
set flags
flags | Flags to set |
void Network::AddrInfo::setIpFamily | ( | IpFamily | ipFamily | ) |
set the IP family of this addrinfo (this won't change the struct sockaddr and may corrupt this object)
ipFamily | IP Family to set |
void Network::AddrInfo::setPort | ( | const struct sockaddr * | sockAddr | ) |
set the sockaddr port from an another sockaddr
sockaddr | struct sockaddr where to copy the port |
void Network::AddrInfo::setPort | ( | unsigned short | port | ) |
set the sockaddr port
port | Port as an unsigned short |
void Network::AddrInfo::setProtocol | ( | int | protocol | ) |
set the Protocol of this (this won't change the struct sockaddr and may corrupt this object)
protocol | Protocol |
void Network::AddrInfo::setSockAddr | ( | const struct sockaddr * | sockAddr, |
size_t | sockAddrLen | ||
) |
set the struct sockaddr contained inside this object
sockAddr | struct sockaddr to set (can be NULL) |
sockAddrLen | size of the sockAddr in bytes |
void Network::AddrInfo::setSockType | ( | SockType | sockType | ) |
set the SockType (TCP or UDP) (this won't change the struct sockaddr and may corrupt this object)
sockType |