#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 |
|
|
|
|
|
00035 { 00036 static const IPAddress allOnes("255.255.255.255"); 00037 _netmask = allOnes; 00038 00039 _metric = 0; 00040 00041 // TBD add default multicast groups! 00042 }
|
|
00057 {}
|
|
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 }
|
|
00061 {return _inetAddr;}
|
|
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 }
|
|
00063 {return _metric;}
|
|
00064 {return _multicastGroups;}
|
|
00062 {return _netmask;}
|
|
|
|
00066 {_inetAddr = a;}
|
|
00068 {_metric = m;}
|
|
00069 {_multicastGroups = v;}
|
|
00067 {_netmask = m;}
|
|
IP address of interface.
|
|
link "cost"; see e.g. MS KB article Q299540
|
|
multicast groups
|
|
netmask
|