void GenerateGetEnumValueMethod (XmlTypeMapping typeMap)
{
string metName = GetGetEnumValueName (typeMap);
EnumMap map = (EnumMap) typeMap.ObjectMap;
if (map.IsFlags)
{
string switchMethod = metName + "_Switch";
WriteLine (typeMap.TypeData.CSharpFullName + " " + metName + " (string xmlName)");
WriteLineInd ("{");
WriteLine ("xmlName = xmlName.Trim();");
WriteLine ("if (xmlName.Length == 0) return (" + typeMap.TypeData.CSharpFullName + ")0;");
WriteLine (typeMap.TypeData.CSharpFullName + " sb = (" + typeMap.TypeData.CSharpFullName + ")0;");
WriteLine ("string[] enumNames = xmlName.Split (null);");
WriteLine ("foreach (string name in enumNames)");
WriteLineInd ("{");
WriteLine ("if (name == string.Empty) continue;");
WriteLine ("sb |= " + switchMethod + " (name); ");
WriteLineUni ("}");
WriteLine ("return sb;");
WriteLineUni ("}");
WriteLine ("");
metName = switchMethod;
}
WriteLine (typeMap.TypeData.CSharpFullName + " " + metName + " (string xmlName)");
WriteLineInd ("{");
GenerateGetSingleEnumValue (typeMap, "xmlName");
WriteLineUni ("}");
WriteLine ("");
}