#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
|
1.4.1