bool ConfigScope::listFilter( const char * name, const StringVector & filterPatterns) const { int i; int len; const char * unexpandedName; const char * pattern; StringBuffer buf; UidIdentifierProcessor uidProc; len = filterPatterns.length(); if (len == 0) { return true; } unexpandedName = uidProc.unexpand(name, buf); for (i = 0; i < len; i++) { pattern = filterPatterns[i]; if (Configuration::patternMatch(unexpandedName, pattern)) { return true; } } return false; }
void ConfigItem::dump( StringBuffer & buf, const char * name, bool wantExpandedUidNames, int indentLevel) const { int i; int len; char * escStr; StringBuffer nameBuf; UidIdentifierProcessor uidIdProc; if (!wantExpandedUidNames) { name = uidIdProc.unexpand(name, nameBuf); } printIndent(buf, indentLevel); switch (m_type) { case Configuration::CFG_STRING: escStr = escapeString(m_stringVal); buf << name << " = \"" << escStr << "\";\n"; delete [] escStr; break; case Configuration::CFG_LIST: buf << name << " = ["; len = m_listVal->length(); for (i = 0; i < len; i++) { escStr = escapeString((*m_listVal)[i]); buf << "\"" << escStr << "\""; delete [] escStr; if (i < len-1) { buf << ", "; } } buf << "];\n"; break; case Configuration::CFG_SCOPE: buf << name << " {\n"; m_scope->dump(buf, wantExpandedUidNames, indentLevel + 1); printIndent(buf, indentLevel); buf << "}\n"; break; default: assert(0); // Bug break; }; }