public static void AddTypeInfo(ProtocolXml.ProtocolTypesDataType newType) { var newTypeInfo = new SystemTypeInfo.TypeMap(newType); if (MapToCSharp.ContainsKey(newTypeInfo.XMLType)) { MapToCSharp.Remove(newTypeInfo.XMLType); } MapToCSharp.Add(newTypeInfo.XMLType, newTypeInfo); if (!string.IsNullOrEmpty(newType.CppTypeInclude)) { var includes = newType.CppTypeInclude.Split(','); foreach (var include in includes) { if (stm_CppTypeIncludes.FindIndex((x) => x == include) < 0) { stm_CppTypeIncludes.Add(include); } } } if (!string.IsNullOrEmpty(newType.CppTypeForward)) { var forward = newType.CppTypeForward; if (stm_CppTypeForwards.FindIndex((x) => x == forward) < 0) { stm_CppTypeForwards.Add(forward); } } }
public TypeMap(ProtocolXml.ProtocolTypesDataType newType) { XMLType = newType.TypeName; IsVariableSize = newType.IsVariableSize; CSharpTypeName = newType.CSharpTypeName; IsCSharpStruct = newType.IsCSharpStruct; IsEnum = newType.IsEnum; IsCSharpArray = newType.IsCSharpArray; UseGenericVariableBuilderInterface = newType.UseGenericVariableBuilderInterface; CPPTypeName = newType.CppTypeName ?? XMLType; }