//-----------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.239
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//-----------------------------------------------------------------------

namespace Microsoft.Protocols.TestSuites.MS_VERSS {
    using System;
    using System.Web.Services;
    using System.Diagnostics;
    using System.Web.Services.Protocols;
    using System.ComponentModel;
    using System.Xml.Serialization;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="VersionsSoap", Namespace="http://schemas.microsoft.com/sharepoint/soap/")]
    public partial class VersionsSoap : System.Web.Services.Protocols.SoapHttpClientProtocol {
        
        private System.Threading.SendOrPostCallback GetVersionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback RestoreVersionOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteVersionOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteAllVersionsOperationCompleted;
        
        /// <remarks/>
        public VersionsSoap() {
        }
        
        /// <remarks/>
        public event GetVersionsCompletedEventHandler GetVersionsCompleted;
        
        /// <remarks/>
        public event RestoreVersionCompletedEventHandler RestoreVersionCompleted;
        
        /// <remarks/>
        public event DeleteVersionCompletedEventHandler DeleteVersionCompleted;
        
        /// <remarks/>
        public event DeleteAllVersionsCompletedEventHandler DeleteAllVersionsCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.microsoft.com/sharepoint/soap/GetVersions", RequestNamespace="http://schemas.microsoft.com/sharepoint/soap/", ResponseNamespace="http://schemas.microsoft.com/sharepoint/soap/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public GetVersionsResponseGetVersionsResult GetVersions(string fileName) {
            object[] results = this.Invoke("GetVersions", new object[] {
                        fileName});
            return ((GetVersionsResponseGetVersionsResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetVersions(string fileName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetVersions", new object[] {
                        fileName}, callback, asyncState);
        }
        
        /// <remarks/>
        public GetVersionsResponseGetVersionsResult EndGetVersions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((GetVersionsResponseGetVersionsResult)(results[0]));
        }
        
        /// <remarks/>
        public void GetVersionsAsync(string fileName) {
            this.GetVersionsAsync(fileName, null);
        }
        
        /// <remarks/>
        public void GetVersionsAsync(string fileName, object userState) {
            if ((this.GetVersionsOperationCompleted == null)) {
                this.GetVersionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVersionsOperationCompleted);
            }
            this.InvokeAsync("GetVersions", new object[] {
                        fileName}, this.GetVersionsOperationCompleted, userState);
        }
        
        private void OnGetVersionsOperationCompleted(object arg) {
            if ((this.GetVersionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVersionsCompleted(this, new GetVersionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.microsoft.com/sharepoint/soap/RestoreVersion", RequestNamespace="http://schemas.microsoft.com/sharepoint/soap/", ResponseNamespace="http://schemas.microsoft.com/sharepoint/soap/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public RestoreVersionResponseRestoreVersionResult RestoreVersion(string fileName, string fileVersion) {
            object[] results = this.Invoke("RestoreVersion", new object[] {
                        fileName,
                        fileVersion});
            return ((RestoreVersionResponseRestoreVersionResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginRestoreVersion(string fileName, string fileVersion, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("RestoreVersion", new object[] {
                        fileName,
                        fileVersion}, callback, asyncState);
        }
        
        /// <remarks/>
        public RestoreVersionResponseRestoreVersionResult EndRestoreVersion(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((RestoreVersionResponseRestoreVersionResult)(results[0]));
        }
        
        /// <remarks/>
        public void RestoreVersionAsync(string fileName, string fileVersion) {
            this.RestoreVersionAsync(fileName, fileVersion, null);
        }
        
        /// <remarks/>
        public void RestoreVersionAsync(string fileName, string fileVersion, object userState) {
            if ((this.RestoreVersionOperationCompleted == null)) {
                this.RestoreVersionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRestoreVersionOperationCompleted);
            }
            this.InvokeAsync("RestoreVersion", new object[] {
                        fileName,
                        fileVersion}, this.RestoreVersionOperationCompleted, userState);
        }
        
        private void OnRestoreVersionOperationCompleted(object arg) {
            if ((this.RestoreVersionCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.RestoreVersionCompleted(this, new RestoreVersionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.microsoft.com/sharepoint/soap/DeleteVersion", RequestNamespace="http://schemas.microsoft.com/sharepoint/soap/", ResponseNamespace="http://schemas.microsoft.com/sharepoint/soap/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public DeleteVersionResponseDeleteVersionResult DeleteVersion(string fileName, string fileVersion) {
            object[] results = this.Invoke("DeleteVersion", new object[] {
                        fileName,
                        fileVersion});
            return ((DeleteVersionResponseDeleteVersionResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteVersion(string fileName, string fileVersion, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteVersion", new object[] {
                        fileName,
                        fileVersion}, callback, asyncState);
        }
        
        /// <remarks/>
        public DeleteVersionResponseDeleteVersionResult EndDeleteVersion(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((DeleteVersionResponseDeleteVersionResult)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteVersionAsync(string fileName, string fileVersion) {
            this.DeleteVersionAsync(fileName, fileVersion, null);
        }
        
        /// <remarks/>
        public void DeleteVersionAsync(string fileName, string fileVersion, object userState) {
            if ((this.DeleteVersionOperationCompleted == null)) {
                this.DeleteVersionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteVersionOperationCompleted);
            }
            this.InvokeAsync("DeleteVersion", new object[] {
                        fileName,
                        fileVersion}, this.DeleteVersionOperationCompleted, userState);
        }
        
        private void OnDeleteVersionOperationCompleted(object arg) {
            if ((this.DeleteVersionCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteVersionCompleted(this, new DeleteVersionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://schemas.microsoft.com/sharepoint/soap/DeleteAllVersions", RequestNamespace="http://schemas.microsoft.com/sharepoint/soap/", ResponseNamespace="http://schemas.microsoft.com/sharepoint/soap/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public DeleteAllVersionsResponseDeleteAllVersionsResult DeleteAllVersions(string fileName) {
            object[] results = this.Invoke("DeleteAllVersions", new object[] {
                        fileName});
            return ((DeleteAllVersionsResponseDeleteAllVersionsResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteAllVersions(string fileName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteAllVersions", new object[] {
                        fileName}, callback, asyncState);
        }
        
        /// <remarks/>
        public DeleteAllVersionsResponseDeleteAllVersionsResult EndDeleteAllVersions(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((DeleteAllVersionsResponseDeleteAllVersionsResult)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteAllVersionsAsync(string fileName) {
            this.DeleteAllVersionsAsync(fileName, null);
        }
        
        /// <remarks/>
        public void DeleteAllVersionsAsync(string fileName, object userState) {
            if ((this.DeleteAllVersionsOperationCompleted == null)) {
                this.DeleteAllVersionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteAllVersionsOperationCompleted);
            }
            this.InvokeAsync("DeleteAllVersions", new object[] {
                        fileName}, this.DeleteAllVersionsOperationCompleted, userState);
        }
        
        private void OnDeleteAllVersionsOperationCompleted(object arg) {
            if ((this.DeleteAllVersionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteAllVersionsCompleted(this, new DeleteAllVersionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/sharepoint/soap/")]
    public partial class GetVersionsResponseGetVersionsResult {
        
        private Results resultsField;
        
        /// <remarks/>
        public Results results {
            get {
                return this.resultsField;
            }
            set {
                this.resultsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/sharepoint/soap/")]
    public partial class Results {
        
        private ResultsList listField;
        
        private ResultsVersioning versioningField;
        
        private ResultsSettings settingsField;
        
        private VersionData[] resultField;
        
        /// <remarks/>
        public ResultsList list {
            get {
                return this.listField;
            }
            set {
                this.listField = value;
            }
        }
        
        /// <remarks/>
        public ResultsVersioning versioning {
            get {
                return this.versioningField;
            }
            set {
                this.versioningField = value;
            }
        }
        
        /// <remarks/>
        public ResultsSettings settings {
            get {
                return this.settingsField;
            }
            set {
                this.settingsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("result")]
        public VersionData[] result {
            get {
                return this.resultField;
            }
            set {
                this.resultField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/sharepoint/soap/")]
    public partial class ResultsList {
        
        private string idField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/sharepoint/soap/")]
    public partial class VersionData {
        
        private string versionField;
        
        private string urlField;
        
        private string createdField;
        
        private string createdRawField;
        
        private string createdByField;
        
        private string createdByNameField;
        
        private ulong sizeField;
        
        private string commentsField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string version {
            get {
                return this.versionField;
            }
            set {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string url {
            get {
                return this.urlField;
            }
            set {
                this.urlField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string created {
            get {
                return this.createdField;
            }
            set {
                this.createdField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string createdRaw {
            get {
                return this.createdRawField;
            }
            set {
                this.createdRawField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string createdBy {
            get {
                return this.createdByField;
            }
            set {
                this.createdByField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string createdByName {
            get {
                return this.createdByNameField;
            }
            set {
                this.createdByNameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public ulong size {
            get {
                return this.sizeField;
            }
            set {
                this.sizeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string comments {
            get {
                return this.commentsField;
            }
            set {
                this.commentsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/sharepoint/soap/")]
    public partial class ResultsVersioning {
        
        private byte enabledField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public byte enabled {
            get {
                return this.enabledField;
            }
            set {
                this.enabledField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/sharepoint/soap/")]
    public partial class ResultsSettings {
        
        private string urlField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string url {
            get {
                return this.urlField;
            }
            set {
                this.urlField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/sharepoint/soap/")]
    public partial class RestoreVersionResponseRestoreVersionResult {
        
        private Results resultsField;
        
        /// <remarks/>
        public Results results {
            get {
                return this.resultsField;
            }
            set {
                this.resultsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/sharepoint/soap/")]
    public partial class DeleteVersionResponseDeleteVersionResult {
        
        private Results resultsField;
        
        /// <remarks/>
        public Results results {
            get {
                return this.resultsField;
            }
            set {
                this.resultsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://schemas.microsoft.com/sharepoint/soap/")]
    public partial class DeleteAllVersionsResponseDeleteAllVersionsResult {
        
        private Results resultsField;
        
        /// <remarks/>
        public Results results {
            get {
                return this.resultsField;
            }
            set {
                this.resultsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    public delegate void GetVersionsCompletedEventHandler(object sender, GetVersionsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetVersionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetVersionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public GetVersionsResponseGetVersionsResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((GetVersionsResponseGetVersionsResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    public delegate void RestoreVersionCompletedEventHandler(object sender, RestoreVersionCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class RestoreVersionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal RestoreVersionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public RestoreVersionResponseRestoreVersionResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((RestoreVersionResponseRestoreVersionResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    public delegate void DeleteVersionCompletedEventHandler(object sender, DeleteVersionCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteVersionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteVersionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public DeleteVersionResponseDeleteVersionResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((DeleteVersionResponseDeleteVersionResult)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    public delegate void DeleteAllVersionsCompletedEventHandler(object sender, DeleteAllVersionsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteAllVersionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteAllVersionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public DeleteAllVersionsResponseDeleteAllVersionsResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((DeleteAllVersionsResponseDeleteAllVersionsResult)(this.results[0]));
            }
        }
    }
}