Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
 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;
 }