#include <IPv4InterfaceData.h>
Public Types | |
typedef std::vector< IPAddress > | IPAddressVector |
Public Member Functions | |
IPv4InterfaceData () | |
virtual | ~IPv4InterfaceData () |
virtual std::string | info () const |
virtual std::string | detailedInfo () const |
IPAddress | inetAddress () const |
IPAddress | netmask () const |
int | metric () const |
const IPAddressVector & | multicastGroups () const |
void | setInetAddress (IPAddress a) |
void | setNetmask (IPAddress m) |
void | setMetric (int m) |
void | setMulticastGroups (const IPAddressVector &v) |
Private Member Functions | |
IPv4InterfaceData (const IPv4InterfaceData &obj) | |
IPv4InterfaceData & | operator= (const IPv4InterfaceData &obj) |
Private Attributes | |
IPAddress | _inetAddr |
IP address of interface. | |
IPAddress | _netmask |
netmask | |
int | _metric |
link "cost"; see e.g. MS KB article Q299540 | |
IPAddressVector | _multicastGroups |
multicast groups |
typedef std::vector<IPAddress> IPv4InterfaceData::IPAddressVector |
IPv4InterfaceData::IPv4InterfaceData | ( | const IPv4InterfaceData & | obj | ) | [private] |
IPv4InterfaceData::IPv4InterfaceData | ( | ) |
std::string IPv4InterfaceData::detailedInfo | ( | ) | const [virtual] |
00060 { 00061 std::stringstream out; 00062 out << "inet addr:" << inetAddress() << "\tMask: " << netmask() << "\n"; 00063 00064 out << "Metric: " << metric() << "\n"; 00065 00066 out << "Groups:"; 00067 for (unsigned int j=0; j<multicastGroups().size(); j++) 00068 if (!multicastGroups()[j].isUnspecified()) 00069 out << " " << multicastGroups()[j]; 00070 out << "\n"; 00071 return out.str(); 00072 }
std::string IPv4InterfaceData::info | ( | ) | const [virtual] |
00045 { 00046 std::stringstream out; 00047 out << "IP:{inet_addr:" << inetAddress() << "/" << netmask().netmaskLength(); 00048 if (!multicastGroups().empty()) 00049 { 00050 out << " mcastgrps:"; 00051 for (unsigned int j=0; j<multicastGroups().size(); j++) 00052 if (!multicastGroups()[j].isUnspecified()) 00053 out << (j>0?",":"") << multicastGroups()[j]; 00054 } 00055 out << "}"; 00056 return out.str(); 00057 }
int IPv4InterfaceData::metric | ( | ) | const [inline] |
const IPAddressVector& IPv4InterfaceData::multicastGroups | ( | ) | const [inline] |
IPv4InterfaceData& IPv4InterfaceData::operator= | ( | const IPv4InterfaceData & | obj | ) | [private] |
void IPv4InterfaceData::setMetric | ( | int | m | ) | [inline] |
void IPv4InterfaceData::setMulticastGroups | ( | const IPAddressVector & | v | ) | [inline] |
IPAddress IPv4InterfaceData::_inetAddr [private] |
IP address of interface.
int IPv4InterfaceData::_metric [private] |
link "cost"; see e.g. MS KB article Q299540
multicast groups
IPAddress IPv4InterfaceData::_netmask [private] |
netmask