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

// 
// This code was auto-generated by Microsoft.Silverlight.ServiceReference, version 4.0.50826.0
// 
namespace ReportServer.ReportsService {
    
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="ReportsService.ReportsServiceSoap")]
    public interface ReportsServiceSoap {
        
        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/GetReport", ReplyAction="*")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ParameterValueOrFieldReference))]
        System.IAsyncResult BeginGetReport(string report, string format, ParameterValue[] parameters, System.AsyncCallback callback, object asyncState);
        
        ReportServer.ReportsService.Report EndGetReport(System.IAsyncResult result);
        
        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ListReports", ReplyAction="*")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(ParameterValueOrFieldReference))]
        System.IAsyncResult BeginListReports(System.AsyncCallback callback, object asyncState);
        
        ReportDefinition[] EndListReports(System.IAsyncResult result);
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices")]
    public partial class ParameterValue : ParameterValueOrFieldReference {
        
        private string nameField;
        
        private string valueField;
        
        private string labelField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string Label {
            get {
                return this.labelField;
            }
            set {
                this.labelField = value;
                this.RaisePropertyChanged("Label");
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ParameterValue))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices")]
    public partial class ParameterValueOrFieldReference : object, System.ComponentModel.INotifyPropertyChanged {
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
    public partial class ReportDefinition : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string nameField;
        
        private string pathField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string Path {
            get {
                return this.pathField;
            }
            set {
                this.pathField = value;
                this.RaisePropertyChanged("Path");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices")]
    public partial class ValidValue : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string labelField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string Label {
            get {
                return this.labelField;
            }
            set {
                this.labelField = value;
                this.RaisePropertyChanged("Label");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
    public partial class ParameterDefinition : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string nameField;
        
        private ParameterTypeEnum typeField;
        
        private bool nullableField;
        
        private bool allowBlankField;
        
        private string promptField;
        
        private ValidValue[] validValuesField;
        
        private string[] defaultValuesField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public ParameterTypeEnum Type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("Type");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public bool Nullable {
            get {
                return this.nullableField;
            }
            set {
                this.nullableField = value;
                this.RaisePropertyChanged("Nullable");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public bool AllowBlank {
            get {
                return this.allowBlankField;
            }
            set {
                this.allowBlankField = value;
                this.RaisePropertyChanged("AllowBlank");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public string Prompt {
            get {
                return this.promptField;
            }
            set {
                this.promptField = value;
                this.RaisePropertyChanged("Prompt");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=5)]
        public ValidValue[] ValidValues {
            get {
                return this.validValuesField;
            }
            set {
                this.validValuesField = value;
                this.RaisePropertyChanged("ValidValues");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=6)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Value")]
        public string[] DefaultValues {
            get {
                return this.defaultValuesField;
            }
            set {
                this.defaultValuesField = value;
                this.RaisePropertyChanged("DefaultValues");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices")]
    public enum ParameterTypeEnum {
        
        /// <remarks/>
        Boolean,
        
        /// <remarks/>
        DateTime,
        
        /// <remarks/>
        Integer,
        
        /// <remarks/>
        Float,
        
        /// <remarks/>
        String,
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
    public partial class Report : object, System.ComponentModel.INotifyPropertyChanged {
        
        private byte[] dataField;
        
        private ParameterDefinition[] parametersField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=0)]
        public byte[] Data {
            get {
                return this.dataField;
            }
            set {
                this.dataField = value;
                this.RaisePropertyChanged("Data");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=1)]
        public ParameterDefinition[] Parameters {
            get {
                return this.parametersField;
            }
            set {
                this.parametersField = value;
                this.RaisePropertyChanged("Parameters");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface ReportsServiceSoapChannel : ReportServer.ReportsService.ReportsServiceSoap, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class GetReportCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        public GetReportCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        public ReportServer.ReportsService.Report Result {
            get {
                base.RaiseExceptionIfNecessary();
                return ((ReportServer.ReportsService.Report)(this.results[0]));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class ListReportsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        public ListReportsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        public ReportDefinition[] Result {
            get {
                base.RaiseExceptionIfNecessary();
                return ((ReportDefinition[])(this.results[0]));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class ReportsServiceSoapClient : System.ServiceModel.ClientBase<ReportServer.ReportsService.ReportsServiceSoap>, ReportServer.ReportsService.ReportsServiceSoap {
        
        private BeginOperationDelegate onBeginGetReportDelegate;
        
        private EndOperationDelegate onEndGetReportDelegate;
        
        private System.Threading.SendOrPostCallback onGetReportCompletedDelegate;
        
        private BeginOperationDelegate onBeginListReportsDelegate;
        
        private EndOperationDelegate onEndListReportsDelegate;
        
        private System.Threading.SendOrPostCallback onListReportsCompletedDelegate;
        
        private BeginOperationDelegate onBeginOpenDelegate;
        
        private EndOperationDelegate onEndOpenDelegate;
        
        private System.Threading.SendOrPostCallback onOpenCompletedDelegate;
        
        private BeginOperationDelegate onBeginCloseDelegate;
        
        private EndOperationDelegate onEndCloseDelegate;
        
        private System.Threading.SendOrPostCallback onCloseCompletedDelegate;
        
        public ReportsServiceSoapClient() {
        }
        
        public ReportsServiceSoapClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public ReportsServiceSoapClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public ReportsServiceSoapClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public ReportsServiceSoapClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        public System.Net.CookieContainer CookieContainer {
            get {
                System.ServiceModel.Channels.IHttpCookieContainerManager httpCookieContainerManager = this.InnerChannel.GetProperty<System.ServiceModel.Channels.IHttpCookieContainerManager>();
                if ((httpCookieContainerManager != null)) {
                    return httpCookieContainerManager.CookieContainer;
                }
                else {
                    return null;
                }
            }
            set {
                System.ServiceModel.Channels.IHttpCookieContainerManager httpCookieContainerManager = this.InnerChannel.GetProperty<System.ServiceModel.Channels.IHttpCookieContainerManager>();
                if ((httpCookieContainerManager != null)) {
                    httpCookieContainerManager.CookieContainer = value;
                }
                else {
                    throw new System.InvalidOperationException("Unable to set the CookieContainer. Please make sure the binding contains an HttpC" +
                            "ookieContainerBindingElement.");
                }
            }
        }
        
        public event System.EventHandler<GetReportCompletedEventArgs> GetReportCompleted;
        
        public event System.EventHandler<ListReportsCompletedEventArgs> ListReportsCompleted;
        
        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> OpenCompleted;
        
        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> CloseCompleted;
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.IAsyncResult ReportServer.ReportsService.ReportsServiceSoap.BeginGetReport(string report, string format, ParameterValue[] parameters, System.AsyncCallback callback, object asyncState) {
            return base.Channel.BeginGetReport(report, format, parameters, callback, asyncState);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        ReportServer.ReportsService.Report ReportServer.ReportsService.ReportsServiceSoap.EndGetReport(System.IAsyncResult result) {
            return base.Channel.EndGetReport(result);
        }
        
        private System.IAsyncResult OnBeginGetReport(object[] inValues, System.AsyncCallback callback, object asyncState) {
            string report = ((string)(inValues[0]));
            string format = ((string)(inValues[1]));
            ParameterValue[] parameters = ((ParameterValue[])(inValues[2]));
            return ((ReportServer.ReportsService.ReportsServiceSoap)(this)).BeginGetReport(report, format, parameters, callback, asyncState);
        }
        
        private object[] OnEndGetReport(System.IAsyncResult result) {
            ReportServer.ReportsService.Report retVal = ((ReportServer.ReportsService.ReportsServiceSoap)(this)).EndGetReport(result);
            return new object[] {
                    retVal};
        }
        
        private void OnGetReportCompleted(object state) {
            if ((this.GetReportCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.GetReportCompleted(this, new GetReportCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void GetReportAsync(string report, string format, ParameterValue[] parameters) {
            this.GetReportAsync(report, format, parameters, null);
        }
        
        public void GetReportAsync(string report, string format, ParameterValue[] parameters, object userState) {
            if ((this.onBeginGetReportDelegate == null)) {
                this.onBeginGetReportDelegate = new BeginOperationDelegate(this.OnBeginGetReport);
            }
            if ((this.onEndGetReportDelegate == null)) {
                this.onEndGetReportDelegate = new EndOperationDelegate(this.OnEndGetReport);
            }
            if ((this.onGetReportCompletedDelegate == null)) {
                this.onGetReportCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetReportCompleted);
            }
            base.InvokeAsync(this.onBeginGetReportDelegate, new object[] {
                        report,
                        format,
                        parameters}, this.onEndGetReportDelegate, this.onGetReportCompletedDelegate, userState);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        System.IAsyncResult ReportServer.ReportsService.ReportsServiceSoap.BeginListReports(System.AsyncCallback callback, object asyncState) {
            return base.Channel.BeginListReports(callback, asyncState);
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        ReportDefinition[] ReportServer.ReportsService.ReportsServiceSoap.EndListReports(System.IAsyncResult result) {
            return base.Channel.EndListReports(result);
        }
        
        private System.IAsyncResult OnBeginListReports(object[] inValues, System.AsyncCallback callback, object asyncState) {
            return ((ReportServer.ReportsService.ReportsServiceSoap)(this)).BeginListReports(callback, asyncState);
        }
        
        private object[] OnEndListReports(System.IAsyncResult result) {
            ReportDefinition[] retVal = ((ReportServer.ReportsService.ReportsServiceSoap)(this)).EndListReports(result);
            return new object[] {
                    retVal};
        }
        
        private void OnListReportsCompleted(object state) {
            if ((this.ListReportsCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.ListReportsCompleted(this, new ListReportsCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void ListReportsAsync() {
            this.ListReportsAsync(null);
        }
        
        public void ListReportsAsync(object userState) {
            if ((this.onBeginListReportsDelegate == null)) {
                this.onBeginListReportsDelegate = new BeginOperationDelegate(this.OnBeginListReports);
            }
            if ((this.onEndListReportsDelegate == null)) {
                this.onEndListReportsDelegate = new EndOperationDelegate(this.OnEndListReports);
            }
            if ((this.onListReportsCompletedDelegate == null)) {
                this.onListReportsCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnListReportsCompleted);
            }
            base.InvokeAsync(this.onBeginListReportsDelegate, null, this.onEndListReportsDelegate, this.onListReportsCompletedDelegate, userState);
        }
        
        private System.IAsyncResult OnBeginOpen(object[] inValues, System.AsyncCallback callback, object asyncState) {
            return ((System.ServiceModel.ICommunicationObject)(this)).BeginOpen(callback, asyncState);
        }
        
        private object[] OnEndOpen(System.IAsyncResult result) {
            ((System.ServiceModel.ICommunicationObject)(this)).EndOpen(result);
            return null;
        }
        
        private void OnOpenCompleted(object state) {
            if ((this.OpenCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.OpenCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void OpenAsync() {
            this.OpenAsync(null);
        }
        
        public void OpenAsync(object userState) {
            if ((this.onBeginOpenDelegate == null)) {
                this.onBeginOpenDelegate = new BeginOperationDelegate(this.OnBeginOpen);
            }
            if ((this.onEndOpenDelegate == null)) {
                this.onEndOpenDelegate = new EndOperationDelegate(this.OnEndOpen);
            }
            if ((this.onOpenCompletedDelegate == null)) {
                this.onOpenCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnOpenCompleted);
            }
            base.InvokeAsync(this.onBeginOpenDelegate, null, this.onEndOpenDelegate, this.onOpenCompletedDelegate, userState);
        }
        
        private System.IAsyncResult OnBeginClose(object[] inValues, System.AsyncCallback callback, object asyncState) {
            return ((System.ServiceModel.ICommunicationObject)(this)).BeginClose(callback, asyncState);
        }
        
        private object[] OnEndClose(System.IAsyncResult result) {
            ((System.ServiceModel.ICommunicationObject)(this)).EndClose(result);
            return null;
        }
        
        private void OnCloseCompleted(object state) {
            if ((this.CloseCompleted != null)) {
                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
                this.CloseCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
            }
        }
        
        public void CloseAsync() {
            this.CloseAsync(null);
        }
        
        public void CloseAsync(object userState) {
            if ((this.onBeginCloseDelegate == null)) {
                this.onBeginCloseDelegate = new BeginOperationDelegate(this.OnBeginClose);
            }
            if ((this.onEndCloseDelegate == null)) {
                this.onEndCloseDelegate = new EndOperationDelegate(this.OnEndClose);
            }
            if ((this.onCloseCompletedDelegate == null)) {
                this.onCloseCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnCloseCompleted);
            }
            base.InvokeAsync(this.onBeginCloseDelegate, null, this.onEndCloseDelegate, this.onCloseCompletedDelegate, userState);
        }
        
        protected override ReportServer.ReportsService.ReportsServiceSoap CreateChannel() {
            return new ReportsServiceSoapClientChannel(this);
        }
        
        private class ReportsServiceSoapClientChannel : ChannelBase<ReportServer.ReportsService.ReportsServiceSoap>, ReportServer.ReportsService.ReportsServiceSoap {
            
            public ReportsServiceSoapClientChannel(System.ServiceModel.ClientBase<ReportServer.ReportsService.ReportsServiceSoap> client) : 
                    base(client) {
            }
            
            public System.IAsyncResult BeginGetReport(string report, string format, ParameterValue[] parameters, System.AsyncCallback callback, object asyncState) {
                object[] _args = new object[3];
                _args[0] = report;
                _args[1] = format;
                _args[2] = parameters;
                System.IAsyncResult _result = base.BeginInvoke("GetReport", _args, callback, asyncState);
                return _result;
            }
            
            public ReportServer.ReportsService.Report EndGetReport(System.IAsyncResult result) {
                object[] _args = new object[0];
                ReportServer.ReportsService.Report _result = ((ReportServer.ReportsService.Report)(base.EndInvoke("GetReport", _args, result)));
                return _result;
            }
            
            public System.IAsyncResult BeginListReports(System.AsyncCallback callback, object asyncState) {
                object[] _args = new object[0];
                System.IAsyncResult _result = base.BeginInvoke("ListReports", _args, callback, asyncState);
                return _result;
            }
            
            public ReportDefinition[] EndListReports(System.IAsyncResult result) {
                object[] _args = new object[0];
                ReportDefinition[] _result = ((ReportDefinition[])(base.EndInvoke("ListReports", _args, result)));
                return _result;
            }
        }
    }
}
