本文整理汇总了C++中NetworkInterface::Name方法的典型用法代码示例。如果您正苦于以下问题:C++ NetworkInterface::Name方法的具体用法?C++ NetworkInterface::Name怎么用?C++ NetworkInterface::Name使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NetworkInterface
的用法示例。
在下文中一共展示了NetworkInterface::Name方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void
Inventory::_AddNetworksInfo(tinyxml2::XMLElement* parent)
{
NetworkRoster roster;
NetworkInterface interface;
unsigned int cookie = 0;
while (roster.GetNextInterface(&cookie, interface) == 0) {
if (interface.Name() == "lo")
continue;
tinyxml2::XMLElement* networks = fDocument->NewElement("NETWORKS");
tinyxml2::XMLElement* description = fDocument->NewElement("DESCRIPTION");
description->LinkEndChild(fDocument->NewText(interface.Name().c_str()));
networks->LinkEndChild(description);
tinyxml2::XMLElement* driver = fDocument->NewElement("DRIVER");
driver->LinkEndChild(fDocument->NewText("pif"));
networks->LinkEndChild(driver);
tinyxml2::XMLElement* ipAddress = fDocument->NewElement("IPADDRESS");
ipAddress->LinkEndChild(fDocument->NewText(interface.IPAddress().c_str()));
networks->LinkEndChild(ipAddress);
tinyxml2::XMLElement* ipDHCP = fDocument->NewElement("IPDHCP");
ipDHCP->LinkEndChild(fDocument->NewText(""));
networks->LinkEndChild(ipDHCP);
tinyxml2::XMLElement* gateway = fDocument->NewElement("IPGATEWAY");
std::string gatewayString;
roster.GetDefaultGateway(interface.Name().c_str(), gatewayString);
gateway->LinkEndChild(fDocument->NewText(gatewayString.c_str()));
networks->LinkEndChild(gateway);
tinyxml2::XMLElement* ipMask = fDocument->NewElement("IPMASK");
ipMask->LinkEndChild(fDocument->NewText(interface.NetMask().c_str()));
networks->LinkEndChild(ipMask);
tinyxml2::XMLElement* ipSubnet = fDocument->NewElement("IPSUBNET");
ipSubnet->LinkEndChild(fDocument->NewText(interface.BroadcastAddress().c_str()));
networks->LinkEndChild(ipSubnet);
tinyxml2::XMLElement* mac = fDocument->NewElement("MACADDR");
mac->LinkEndChild(fDocument->NewText(interface.HardwareAddress().c_str()));
networks->LinkEndChild(mac);
tinyxml2::XMLElement* pciSlot = fDocument->NewElement("PCISLOT");
pciSlot->LinkEndChild(fDocument->NewText(""));
networks->LinkEndChild(pciSlot);
tinyxml2::XMLElement* status = fDocument->NewElement("STATUS");
status->LinkEndChild(fDocument->NewText(interface.Status().c_str()));
networks->LinkEndChild(status);
tinyxml2::XMLElement* type = fDocument->NewElement("TYPE");
type->LinkEndChild(fDocument->NewText(interface.Type().c_str()));
networks->LinkEndChild(type);
tinyxml2::XMLElement* virtualDevice = fDocument->NewElement("VIRTUALDEV");
virtualDevice->LinkEndChild(fDocument->NewText(""));
networks->LinkEndChild(virtualDevice);
parent->LinkEndChild(networks);
}
}
示例2: catch
void
Inventory::_AddHardwareInfo(tinyxml2::XMLElement* parent)
{
tinyxml2::XMLElement* hardware = fDocument->NewElement("HARDWARE");
tinyxml2::XMLElement* checksum = fDocument->NewElement("CHECKSUM");
checksum->LinkEndChild(fDocument->NewText(int_to_string(Checksum()).c_str()));
// Find first active interface
NetworkRoster roster;
NetworkInterface interface;
unsigned int cookie = 0;
while (roster.GetNextInterface(&cookie, interface) == 0) {
if (interface.Name() != "lo" && interface.IPAddress() != ""
&& interface.IPAddress() != "0.0.0.0")
break;
}
std::string defaultGateway;
roster.GetDefaultGateway(interface.Name().c_str(), defaultGateway);
tinyxml2::XMLElement* defaultGW = fDocument->NewElement("DEFAULTGATEWAY");
defaultGW->LinkEndChild(fDocument->NewText(defaultGateway.c_str()));
tinyxml2::XMLElement* description = fDocument->NewElement("DESCRIPTION");
std::string descriptionString;
descriptionString.append(fMachine->OSInfo().machine).append("/");
description->LinkEndChild(fDocument->NewText(descriptionString.c_str()));
tinyxml2::XMLElement* ipAddress = fDocument->NewElement("IPADDR");
ipAddress->LinkEndChild(fDocument->NewText(interface.IPAddress().c_str()));
tinyxml2::XMLElement* memory = fDocument->NewElement("MEMORY");
memory->LinkEndChild(fDocument->NewText(fMachine->OSInfo().memory.c_str()));
tinyxml2::XMLElement* name = fDocument->NewElement("NAME");
name->LinkEndChild(fDocument->NewText(fMachine->HostName().c_str()));
tinyxml2::XMLElement* osComments = fDocument->NewElement("OSCOMMENTS");
osComments->LinkEndChild(fDocument->NewText(fMachine->OSInfo().comments.c_str()));
tinyxml2::XMLElement* osName = fDocument->NewElement("OSNAME");
osName->LinkEndChild(fDocument->NewText(fMachine->OSInfo().os_description.c_str()));
tinyxml2::XMLElement* osVersion = fDocument->NewElement("OSVERSION");
osVersion->LinkEndChild(fDocument->NewText(fMachine->OSInfo().os_release.c_str()));
tinyxml2::XMLElement* processorN = fDocument->NewElement("PROCESSORN");
processorN->LinkEndChild(fDocument->NewText(int_to_string(fMachine->CountProcessors()).c_str()));
tinyxml2::XMLElement* processorS = fDocument->NewElement("PROCESSORS");
processorS->LinkEndChild(fDocument->NewText(fMachine->ProcessorSpeed(0).c_str()));
tinyxml2::XMLElement* processorT = fDocument->NewElement("PROCESSORT");
processorT->LinkEndChild(fDocument->NewText(fMachine->ProcessorType(0).c_str()));
tinyxml2::XMLElement* swap = fDocument->NewElement("SWAP");
swap->LinkEndChild(fDocument->NewText(fMachine->OSInfo().swap.c_str()));
tinyxml2::XMLElement* userID = fDocument->NewElement("USERID");
// TODO: Fix this
userID->LinkEndChild(fDocument->NewText("root"));
//<USERID>root</USERID>
tinyxml2::XMLElement* uuid = fDocument->NewElement("UUID");
uuid->LinkEndChild(fDocument->NewText(fMachine->SystemUUID().c_str()));
tinyxml2::XMLElement* vmSystem = fDocument->NewElement("VMSYSTEM");
vmSystem->LinkEndChild(fDocument->NewText("Physical"));
// <VMSYSTEM>Xen</VMSYSTEM>
tinyxml2::XMLElement* workGroup = fDocument->NewElement("WORKGROUP");
workGroup->LinkEndChild(fDocument->NewText(fMachine->OSInfo().domain_name.c_str()));
hardware->LinkEndChild(checksum);
hardware->LinkEndChild(defaultGW);
hardware->LinkEndChild(description);
hardware->LinkEndChild(ipAddress);
try {
LoggedUsers users;
if (users.Count() > 0) {
user_entry user = users.UserEntryAt(users.Count() - 1);
tinyxml2::XMLElement* dateLastLoggedUser = fDocument->NewElement("DATELASTLOGGEDUSER");
dateLastLoggedUser->LinkEndChild(fDocument->NewText(user.logintimestring.c_str()));
hardware->LinkEndChild(dateLastLoggedUser);
tinyxml2::XMLElement* lastLoggedUser = fDocument->NewElement("LASTLOGGEDUSER");
lastLoggedUser->LinkEndChild(fDocument->NewText(user.login.c_str()));
hardware->LinkEndChild(lastLoggedUser);
}
} catch (...) {
// Not a big issue, after all.
}
hardware->LinkEndChild(memory);
hardware->LinkEndChild(name);
hardware->LinkEndChild(osComments);
hardware->LinkEndChild(osName);
hardware->LinkEndChild(osVersion);
//.........这里部分代码省略.........