File: metadata\sudsparser.cs
Project: ndp\clr\src\managedlibraries\remoting\System.Runtime.Remoting.csproj (System.Runtime.Remoting)
// ==++==
// 
//   Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// ==--==
//============================================================
//
// File:    SudsParser.cs
//<EMAIL>
// Author:  Gopal Kakivaya (GopalK)
//</EMAIL>
// Purpose: Defines SUDSParser that parses a given SUDS document
//          and generates types defined in it.
//
// Date:    April 01, 2000
// Revised: November 15, 2000 (Wsdl) <EMAIL>Microsoft</EMAIL>
//
//============================================================
namespace System.Runtime.Remoting.MetadataServices
{
    using System;
    using System.IO;
    using System.Runtime.Remoting;
    using System.Runtime.Serialization;
    using System.Collections;
 
    // Represents exceptions thrown by the SUDSParser
    [Serializable]
    public class SUDSParserException : Exception
    {
        internal SUDSParserException(String message)
        : base(message)
        {
        }
 
        protected SUDSParserException(SerializationInfo info, StreamingContext context): base(info, context) {}
    }
 
    // Represents a block type of a complex type
	[Serializable]
    internal enum SchemaBlockType { ALL, SEQUENCE, CHOICE, ComplexContent}
 
    // This class parses SUDS documents
    internal class SUDSParser
    {
        WsdlParser wsdlParser;
                                                        
        // Main parser
        internal SUDSParser(TextReader input, String outputDir, ArrayList outCodeStreamList, String locationURL, bool bWrappedProxy, String proxyNamespace)
        {
			Util.Log("SUDSParser.SUDSParser outputDir "+outputDir+" locationURL "+locationURL+" bWrappedProxy "+bWrappedProxy+" proxyNamespace "+proxyNamespace);
            Util.LogInput(ref input);
            wsdlParser = new WsdlParser(input, outputDir, outCodeStreamList, locationURL, bWrappedProxy, proxyNamespace);
        }
 
        internal void Parse()
        {
			Util.Log("SUDSParser.Parse");
            wsdlParser.Parse();
        }
 
    }
}