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

// 
// This source code was auto-generated by Mono Web Services Description Language Utility
//

namespace MonoDevelop.RegexToolkit
{
/// <remarks/>
[System.Web.Services.WebServiceBinding(Name="WebservicesSoap", Namespace="http://regexlib.com/webservices.asmx")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(BaseDataObject))]
public class Webservices : System.Web.Services.Protocols.SoapHttpClientProtocol {
    
    public Webservices() {
        this.Url = "http://regexlib.com/WebServices.asmx";
    }
    
    /// <remarks>
///Returns information about a particular regular expression as a RegExpDetails struct object.
///</remarks>
    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://regexlib.com/webservices.asmx/getRegExpDetails", RequestNamespace="http://regexlib.com/webservices.asmx", ResponseNamespace="http://regexlib.com/webservices.asmx", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
    public RegExpDetails getRegExpDetails(int regexpId) {
        object[] results = this.Invoke("getRegExpDetails", new object[] {
            regexpId});
        return ((RegExpDetails)(results[0]));
    }
    
    public System.IAsyncResult BegingetRegExpDetails(int regexpId, System.AsyncCallback callback, object asyncState) {
        return this.BeginInvoke("getRegExpDetails", new object[] {
            regexpId}, callback, asyncState);
    }
    
    public RegExpDetails EndgetRegExpDetails(System.IAsyncResult asyncResult) {
        object[] results = this.EndInvoke(asyncResult);
        return ((RegExpDetails)(results[0]));
    }
    
    /// <remarks>
///Returns N expressions in order by date added to library, descending.
///</remarks>
    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://regexlib.com/webservices.asmx/ListAllAsXml", RequestNamespace="http://regexlib.com/webservices.asmx", ResponseNamespace="http://regexlib.com/webservices.asmx", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
    public Expression[] ListAllAsXml(int maxrows) {
        object[] results = this.Invoke("ListAllAsXml", new object[] {
            maxrows});
        return ((Expression[])(results[0]));
    }
    
    public System.IAsyncResult BeginListAllAsXml(int maxrows, System.AsyncCallback callback, object asyncState) {
        return this.BeginInvoke("ListAllAsXml", new object[] {
            maxrows}, callback, asyncState);
    }
    
    public Expression[] EndListAllAsXml(System.IAsyncResult asyncResult) {
        object[] results = this.EndInvoke(asyncResult);
        return ((Expression[])(results[0]));
    }
    
    /// <remarks>
///Returns a dataset holding information about all of the regular expressions that matched the query provided.
///</remarks>
    [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://regexlib.com/webservices.asmx/listRegExp", RequestNamespace="http://regexlib.com/webservices.asmx", ResponseNamespace="http://regexlib.com/webservices.asmx", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
    public System.Data.DataSet listRegExp(string keyword, string regexp_substring, int min_rating, int howmanyrows) {
        object[] results = this.Invoke("listRegExp", new object[] {
            keyword,
            regexp_substring,
            min_rating,
            howmanyrows});
        return ((System.Data.DataSet)(results[0]));
    }
    
    public System.IAsyncResult BeginlistRegExp(string keyword, string regexp_substring, int min_rating, int howmanyrows, System.AsyncCallback callback, object asyncState) {
        return this.BeginInvoke("listRegExp", new object[] {
            keyword,
            regexp_substring,
            min_rating,
            howmanyrows}, callback, asyncState);
    }
    
    public System.Data.DataSet EndlistRegExp(System.IAsyncResult asyncResult) {
        object[] results = this.EndInvoke(asyncResult);
        return ((System.Data.DataSet)(results[0]));
    }
}

/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://regexlib.com/webservices.asmx")]
public class RegExpDetails {
    
    /// <remarks/>
    public int user_id;
    
    /// <remarks/>
    public int regexp_id;
    
    /// <remarks/>
    public string regular_expression;
    
    /// <remarks/>
    public string matches;
    
    /// <remarks/>
    public string not_matches;
    
    /// <remarks/>
    public string source;
    
    /// <remarks/>
    public string description;
    
    /// <remarks/>
    public System.DateTime create_date;
    
    /// <remarks/>
    public bool disable;
    
    /// <remarks/>
    public int rating;
}

/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://regexlib.com/webservices.asmx")]
public class Expression : BaseDataObject {
    
    /// <remarks/>
    public string AuthorId;
    
    /// <remarks/>
    public string AuthorName;
    
    /// <remarks/>
    public int ProviderId;
    
    /// <remarks/>
    public string Title;
    
    /// <remarks/>
    public string Pattern;
    
    /// <remarks/>
    public string MatchingText;
    
    /// <remarks/>
    public string NonMatchingText;
    
    /// <remarks/>
    public bool Enabled;
    
    /// <remarks/>
    public int Rating;
    
    /// <remarks/>
    public string Source;
    
    /// <remarks/>
    public string Description;
}

/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://regexlib.com/webservices.asmx")]
[System.Xml.Serialization.XmlIncludeAttribute(typeof(Expression))]
public class BaseDataObject {
    
    /// <remarks/>
    public int Id;
    
    /// <remarks/>
    public System.DateTime DateCreated;
    
    /// <remarks/>
    public System.DateTime DateModified;
    
    /// <remarks/>
    public bool IsDirty;
}
}
