Exemple #1
0
AVList * AVList::copyList (void)
{
    AVList *pNew = new AVList (_uiCurrSize);
    for(unsigned int i = 0; i < _uiCurrSize; i++) {
        pNew->addPair (_pPair[i]._pszAttribute, _pPair[i]._pszValue);
    }
    return pNew;
}
int MetadataConfigurationImpl::setMetadataFields (const char *pszXMLMetaDataValues)
{
    const char *pszMethodName = "MetadataConfiguration::setMetadataFields";
    if (pszXMLMetaDataValues == nullptr) {
        return -1;
    }
    TiXmlElement *pTxtField;
    TiXmlDocument xmlDoc;
    xmlDoc.Parse (pszXMLMetaDataValues);
    TiXmlElement *pRoot = xmlDoc.FirstChildElement (XML_METADATA_ELEMENT);
    if ((pRoot == nullptr) || ((pTxtField = pRoot->FirstChildElement (XML_FIELD_ELEMENT)) == nullptr)) {
        return -2;
    }
    AVList avlist;
    do {
        TiXmlElement *pTxtElement = pTxtField->FirstChildElement (XML_FIELD_NAME_ELEMENT);
        TiXmlElement *pTxtValue = pTxtField->FirstChildElement (XML_FIELD_VALUE_ELEMENT);
        if ((pTxtElement != nullptr) && (pTxtValue != nullptr)) {
            const String nameText (pTxtElement->GetText());
            if (nameText.length() <= 0) {
                pTxtField = pTxtField->NextSiblingElement();
                continue;
            }
            do {
                const String valueText (pTxtValue->GetText());
                if (valueText.length() <= 0) {
                    pTxtValue = pTxtValue->NextSiblingElement();
                    continue;
                }
                avlist.addPair (nameText, valueText);
                pTxtValue = pTxtValue->NextSiblingElement();
            } while (pTxtValue != nullptr);
            pTxtField = pTxtField->NextSiblingElement();
        }
    } while (pTxtField != nullptr);

    checkAndLogMsg (pszMethodName, Logger::L_Info, "AVList at the end is:\n");
    for (unsigned int i = 0; i < avlist.getLength(); i++) {
        checkAndLogMsg (pszMethodName, Logger::L_Info, "Attribute[%d] = <%s>, Value[%d] = <%s>\n",
                        i, avlist.getAttribute (i), i, avlist.getValueByIndex (i));
    }
    return setupClassifierConfiguration (&avlist);
}