Example #1
0
        public static string WriteToString(IniData iniData, IniSchemeStyle schemeStyle = null, IniWriterStyle writerStyle = null)
        {
            BeginWrite();

            TextWriter writer = new StringWriter(new StringBuilder());

            IniSection globalSection = iniData.GetSection(IniData.GLOBAL_SECTION_NAME, false);

            if (globalSection != null)
            {
                WriteSection(globalSection, writer);
            }
            foreach (var section in iniData)
            {
                if (section.Name != IniData.GLOBAL_SECTION_NAME)
                {
                    WriteSection(section, writer);
                }
            }

            EndWrite();

            writer.Flush();
            string iniString = writer.ToString();

            writer.Close();
            return(iniString);
        }
Example #2
0
 private static void EndRead()
 {
     schemeStyle = null;
     readerStyle = null;
     tempComments.Clear();
     tempOptionalValues.Clear();
     tempSectionName = null;
     tempExceptions.Clear();
 }
Example #3
0
 private static void BeginWrite()
 {
     if (schemeStyle == null)
     {
         schemeStyle = new IniSchemeStyle();
     }
     if (writerStyle == null)
     {
         writerStyle = new IniWriterStyle();
     }
 }
Example #4
0
 private static void BeginRead()
 {
     if (schemeStyle == null)
     {
         schemeStyle = new IniSchemeStyle();
     }
     if (readerStyle == null)
     {
         readerStyle = new IniReaderStyle();
     }
     tempComments.Clear();
     tempOptionalValues.Clear();
     tempSectionName = null;
     tempExceptions.Clear();
 }
Example #5
0
        public static IniData ReadFromString(string iniString, IniSchemeStyle schemeStyle = null, IniReaderStyle readerStyle = null)
        {
            IniReader.schemeStyle = schemeStyle;
            IniReader.readerStyle = readerStyle;

            BeginRead();

            IniData iniData = new IniData();

            IniTextBuffer stringBuffer = new IniTextBuffer(iniString);

            while (stringBuffer.ReadLine())
            {
                try
                {
                    ProcessLine(stringBuffer, iniData);
                }
                catch (Exception e)
                {
                    tempExceptions.Add(e);

                    if (readerStyle.ThrowExceptionsOnError)
                    {
                        EndRead();

                        throw;
                    }
                }
            }

            if (tempExceptions.Count > 0)
            {
                iniData = null;
            }

            EndRead();

            return(iniData);
        }
Example #6
0
 private static void EndWrite()
 {
     schemeStyle = null;
     writerStyle = null;
 }