本文整理汇总了C++中XMLTag::GetValue方法的典型用法代码示例。如果您正苦于以下问题:C++ XMLTag::GetValue方法的具体用法?C++ XMLTag::GetValue怎么用?C++ XMLTag::GetValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLTag
的用法示例。
在下文中一共展示了XMLTag::GetValue方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ParseDestination
void RCFSourceInfo::ParseDestination(XMLTag* destTag, UInt32 index)
{
XMLTag* prefTag;
prefTag = destTag->GetEmbeddedTagByNameAndAttr("PREF", "NAME", "out_addr");
if (prefTag != NULL)
{
char* outAddrStr = prefTag->GetValue();
if (outAddrStr != NULL)
fOutputArray[index].fLocalAddr = SocketUtils::ConvertStringToAddr(outAddrStr);
}
prefTag = destTag->GetEmbeddedTagByNameAndAttr("PREF", "NAME", "dest_addr");
if (prefTag != NULL)
{
char* destAddrStr = prefTag->GetValue();
if (destAddrStr != NULL)
fOutputArray[index].fDestAddr = SocketUtils::ConvertStringToAddr(destAddrStr);
}
prefTag = destTag->GetEmbeddedTagByNameAndAttr("PREF", "NAME", "ttl");
if (prefTag != NULL)
{
char* ttlStr = prefTag->GetValue();
if (ttlStr != NULL)
fOutputArray[index].fTimeToLive = atoi(ttlStr);
}
prefTag = destTag->GetEmbeddedTagByNameAndAttr("LIST-PREF", "NAME", "udp_ports");
if (prefTag != NULL)
{
fOutputArray[index].fNumPorts = prefTag->GetNumEmbeddedTags();
fOutputArray[index].fPortArray = new UInt16[fOutputArray[index].fNumPorts];
::memset(fOutputArray[index].fPortArray, 0, fOutputArray[index].fNumPorts * sizeof(UInt16));
for (UInt32 x = 0; x < fOutputArray[index].fNumPorts; x++)
{
XMLTag* portTag = prefTag->GetEmbeddedTagByName("VALUE", x);
if (portTag != NULL)
{
char* portStr = portTag->GetValue();
if (portStr != NULL)
{
fOutputArray[index].fPortArray[x] = atoi(portStr);
}
}
}
}
else
{
prefTag = destTag->GetEmbeddedTagByNameAndAttr("PREF", "NAME", "udp_base_port");
if (prefTag == NULL)
qtss_printf("Missing both 'udp_base_port' and 'udp_ports' tags.\n Cannot set up the destination!\n");
else
{
char* basePortStr = prefTag->GetValue();
if (basePortStr != NULL)
fOutputArray[index].fBasePort = atoi(basePortStr);
}
}
}
示例2: GetPrefValueByRef
char* XMLPrefsParser::GetPrefValueByRef(ContainerRef pref, const UInt32 inValueIndex,
char** outPrefName, char** outDataType)
{
if (outPrefName != NULL)
*outPrefName = pref->GetAttributeValue(kNameAttr);
if (outDataType != NULL)
{
*outDataType = pref->GetAttributeValue(kTypeAttr);
if (*outDataType == NULL)
*outDataType = "CharArray";
}
if (!strcmp(pref->GetTagName(), kPref))
{
if (inValueIndex > 0)
return NULL;
else
return pref->GetValue();
}
if (!strcmp(pref->GetTagName(), kListPref))
{
XMLTag* value = pref->GetEmbeddedTag(inValueIndex);
if (value != NULL)
return value->GetValue();
}
if (!strcmp(pref->GetTagName(), kObject) || !strcmp(pref->GetTagName(), kObjectList))
*outDataType = "QTSS_Object";
return NULL;
}
示例3: RemovePrefValue
void XMLPrefsParser::RemovePrefValue( ContainerRef pref, const UInt32 inValueIndex)
{
UInt32 numValues = GetNumPrefValues(pref);
if (inValueIndex >= numValues)
return;
if (numValues == 1)
{
delete pref; // just remove the whole pref
}
else if (numValues == 2)
{
XMLTag* value = pref->GetEmbeddedTag(inValueIndex); // get the one we're removing
delete value; // delete it
value = pref->GetEmbeddedTag(0); // get the remaining tag index always 0 for 2 vals
pref->RemoveEmbeddedTag(value); // pull it out of the parent
if (!strcmp(pref->GetTagName(), kObjectList))
{
pref->SetTagName(kObject); // set it back to a simple pref
// move all this objects tags into the parent
XMLTag* objectPref;
while((objectPref = value->GetEmbeddedTag()) != NULL)
{
value->RemoveEmbeddedTag(objectPref);
pref->AddEmbeddedTag(objectPref);
}
}
else
{
char* temp = value->GetValue();
pref->SetTagName(kPref); // set it back to a simple pref
pref->SetValue(temp);
}
delete value; // get rid of the other one
}
else
{
XMLTag* value = pref->GetEmbeddedTag(inValueIndex);
if (value)
delete value;
}
}
示例4: Parse
void RCFSourceInfo::Parse(XMLTag* relayTag)
{
XMLTag* sourceTag = relayTag->GetEmbeddedTagByNameAndAttr("OBJECT", "CLASS", "source");
if (sourceTag == NULL)
return;
fNumStreams = 0;
UInt32 destIPAddr = 0;
UInt32 srcIPAddr = 0;
UInt16 ttl = 0;
XMLTag* prefTag;
prefTag = sourceTag->GetEmbeddedTagByNameAndAttr("PREF", "NAME", "in_addr");
if (prefTag != NULL)
{
char* destAddrStr = prefTag->GetValue();
if (destAddrStr != NULL)
destIPAddr = SocketUtils::ConvertStringToAddr(destAddrStr);
}
prefTag = sourceTag->GetEmbeddedTagByNameAndAttr("PREF", "NAME", "source_addr");
if (prefTag != NULL)
{
char* srcAddrStr = prefTag->GetValue();
if (srcAddrStr != NULL)
srcIPAddr = SocketUtils::ConvertStringToAddr(srcAddrStr);
}
prefTag = sourceTag->GetEmbeddedTagByNameAndAttr("PREF", "NAME", "ttl");
if (prefTag != NULL)
{
char* ttlStr = prefTag->GetValue();
if (ttlStr != NULL)
ttl = atoi(ttlStr);
}
prefTag = sourceTag->GetEmbeddedTagByNameAndAttr("LIST-PREF", "NAME", "udp_ports");
if (prefTag != NULL)
{
fNumStreams = prefTag->GetNumEmbeddedTags();
// Allocate a proper sized stream array
fStreamArray = new StreamInfo[fNumStreams];
for (UInt32 x = 0; x < fNumStreams; x++)
{
XMLTag* portTag = prefTag->GetEmbeddedTagByName("VALUE", x);
int port = 0;
if (portTag != NULL)
{
char* portStr = portTag->GetValue();
if (portStr != NULL)
port = atoi(portStr);
}
// Setup all the StreamInfo structures
fStreamArray[x].fSrcIPAddr = srcIPAddr;
fStreamArray[x].fDestIPAddr = destIPAddr;
fStreamArray[x].fPort = port;
fStreamArray[x].fTimeToLive = ttl;
fStreamArray[x].fPayloadType = qtssUnknownPayloadType;
fStreamArray[x].fTrackID = x + 1;
}
}
// Now go through all the relay_destination lines (starting from the next line after the
// relay_source line.
this->ParseRelayDestinations(relayTag);
}