ArgMap parseVars(IXML_Document* doc) { ArgMap map; for(QDomNode i = doc->n.firstChild->firstChild; i; i=i->nextSibling) { map[i->nodeName] = QString::fromUtf8(i->firstChild ? i->firstChild->nodeValue : ""); } log()<<"vars:"<<map.size(); return map; }
ArgMap parseEvent(IXML_Document* doc) { ArgMap map; if (!doc) { return map; } QString pname = "e:property"; for(QDomNode i = doc->n.firstChild->firstChild; i; i=i->nextSibling) { if (i->nodeName!=pname) { log()<<"event node:"<<i->nodeName; continue; } QDomNode j = i->firstChild; map[j->nodeName] = j->firstChild ? j->firstChild->nodeValue : ""; } log()<<"vars:"<<map.size(); return map; }
void fillArgMap( std::string args ) { const std::string &const_args = args; boost::match_results<std::string::const_iterator> results; while( regex_search( const_args, results, RegexCommon::getIdentifierRegex() ) ) { std::string argName( results[0].first, results[0].second ); _argMap.insert( std::make_pair( argName, _argNo++ ) ); args = std::string( results.suffix().first, results.suffix().second ); } }
void AVTransport::handleEvent(ArgMap vars) { #if 0 // log()<<"got avtransport event"<<vars.size(); if (!vars.contains("LastChange")) return; QString change = vars["LastChange"]; IXML_Document* doc = ixmlParseBuffer(qPrintable(change)); if (!doc) { log()<<"failed parsing lastchange"; return; } // log() << ixmlPrintDocument(doc); ArgMap args; for(Nodeptr i=doc->n.firstChild->firstChild->firstChild; i; i=i->nextSibling) { // log()<<i->nodeName<<i->firstAttr->nodeValue; args[QString::fromUtf8(i->nodeName)] = QString::fromUtf8(i->firstAttr->nodeValue); } // log()<<args; emit lastChange(args); #endif }
int cov() { return closed_locals_.size(); }
int getArgNo( const std::string &argName ) { ArgMap::iterator agmItr = _argMap.find( argName ); return agmItr == _argMap.end() ? -1 : agmItr->second; }