/** * This method is highly coupled to parseStop and parseCategory. * * TODO: consider refactoring. */ void HelperFileParser::parseFile() { char temp[12]; file >> temp; if (strcmp(temp, "[stop]") == 0) { parseStop(); parseCategory(); } else { parseCategory(); parseStop(); } }
void AIMLParser::parseCategories(QDomDocument &doc) { QDomElement docElem = doc.documentElement(); QDomNodeList categoryList = docElem.elementsByTagName ("category"); for (int i = 0; i < categoryList.count(); i++) { QDomNode n = categoryList.item(i); parseCategory(&n); } }
void AISUpdate::parseEmbeddedCategory(const LLSD& category) { // a single category (_embedded in a link) if (category.has("category_id")) { if (mCategoryIds.end() != mCategoryIds.find(category["category_id"].asUUID())) { parseCategory(category); } } }
void AISUpdate::parseEmbeddedCategories(const LLSD& categories) { // a map of categories (_embedded in a category) for(LLSD::map_const_iterator categoryit = categories.beginMap(), categoryend = categories.endMap(); categoryit != categoryend; ++categoryit) { const LLUUID category_id((*categoryit).first); const LLSD& category_map = (*categoryit).second; if (mCategoryIds.end() == mCategoryIds.find(category_id)) { LL_DEBUGS("Inventory") << "Ignoring category not in categories list " << category_id << LL_ENDL; } else { parseCategory(category_map); } } }
void AISUpdate::parseContent(const LLSD& update) { if (update.has("linked_id")) { parseLink(update); } else if (update.has("item_id")) { parseItem(update); } if (update.has("category_id")) { parseCategory(update); } else { if (update.has("_embedded")) { parseEmbedded(update["_embedded"]); } } }