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

// 
// This source code was auto-generated by Microsoft.VSDesigner, Version 2.0.50727.1433.
// 
#pragma warning disable 1591

namespace TestDataHub.DataHub {
    using System.Diagnostics;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Xml.Serialization;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="ServiceSoap", Namespace="http://tempuri.org/")]
    public partial class Service : System.Web.Services.Protocols.SoapHttpClientProtocol {
        
        private System.Threading.SendOrPostCallback RegisterSensorOperationCompleted;
        
        private System.Threading.SendOrPostCallback RegisterVectorSensorOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteSensorOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteVectorSensorOperationCompleted;
        
        private System.Threading.SendOrPostCallback UpdateSensorLocationOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetSensorByPublisherAndNameOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetSensorsByPublisherOperationCompleted;
        
        private System.Threading.SendOrPostCallback StoreScalarDataOperationCompleted;
        
        private System.Threading.SendOrPostCallback StoreScalarDataBatchOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetLatestScalarDataOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetLatestScalarDataInBatchOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetScalarDataSeriesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetScalarDataSeriesInBatchOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAggregateScalarDataOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAggregateScalarDataInBatchOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAggregateScalarDataSeriesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAggregateScalarDataSeriesInBatchOperationCompleted;
        
        private System.Threading.SendOrPostCallback StoreVectorDataOperationCompleted;
        
        private System.Threading.SendOrPostCallback StoreVectorDataByComponentIndexOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetLatestVectorDataOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetLatestVectorDataByComponentIndexOperationCompleted;
        
        private System.Threading.SendOrPostCallback StoreBinaryDataOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetLatestBinarySensorDataOperationCompleted;
        
        private System.Threading.SendOrPostCallback DataToStringOperationCompleted;
        
        private bool useDefaultCredentialsSetExplicitly;
        
        /// <remarks/>
        public Service() {
            this.Url = global::TestDataHub.Properties.Settings.Default.TestDataHub_com_microsoft_research_atom_datahub_Service;
            if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
                this.UseDefaultCredentials = true;
                this.useDefaultCredentialsSetExplicitly = false;
            }
            else {
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
        
        public new string Url {
            get {
                return base.Url;
            }
            set {
                if ((((this.IsLocalFileSystemWebService(base.Url) == true) 
                            && (this.useDefaultCredentialsSetExplicitly == false)) 
                            && (this.IsLocalFileSystemWebService(value) == false))) {
                    base.UseDefaultCredentials = false;
                }
                base.Url = value;
            }
        }
        
        public new bool UseDefaultCredentials {
            get {
                return base.UseDefaultCredentials;
            }
            set {
                base.UseDefaultCredentials = value;
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
        
        /// <remarks/>
        public event RegisterSensorCompletedEventHandler RegisterSensorCompleted;
        
        /// <remarks/>
        public event RegisterVectorSensorCompletedEventHandler RegisterVectorSensorCompleted;
        
        /// <remarks/>
        public event DeleteSensorCompletedEventHandler DeleteSensorCompleted;
        
        /// <remarks/>
        public event DeleteVectorSensorCompletedEventHandler DeleteVectorSensorCompleted;
        
        /// <remarks/>
        public event UpdateSensorLocationCompletedEventHandler UpdateSensorLocationCompleted;
        
        /// <remarks/>
        public event GetSensorByPublisherAndNameCompletedEventHandler GetSensorByPublisherAndNameCompleted;
        
        /// <remarks/>
        public event GetSensorsByPublisherCompletedEventHandler GetSensorsByPublisherCompleted;
        
        /// <remarks/>
        public event StoreScalarDataCompletedEventHandler StoreScalarDataCompleted;
        
        /// <remarks/>
        public event StoreScalarDataBatchCompletedEventHandler StoreScalarDataBatchCompleted;
        
        /// <remarks/>
        public event GetLatestScalarDataCompletedEventHandler GetLatestScalarDataCompleted;
        
        /// <remarks/>
        public event GetLatestScalarDataInBatchCompletedEventHandler GetLatestScalarDataInBatchCompleted;
        
        /// <remarks/>
        public event GetScalarDataSeriesCompletedEventHandler GetScalarDataSeriesCompleted;
        
        /// <remarks/>
        public event GetScalarDataSeriesInBatchCompletedEventHandler GetScalarDataSeriesInBatchCompleted;
        
        /// <remarks/>
        public event GetAggregateScalarDataCompletedEventHandler GetAggregateScalarDataCompleted;
        
        /// <remarks/>
        public event GetAggregateScalarDataInBatchCompletedEventHandler GetAggregateScalarDataInBatchCompleted;
        
        /// <remarks/>
        public event GetAggregateScalarDataSeriesCompletedEventHandler GetAggregateScalarDataSeriesCompleted;
        
        /// <remarks/>
        public event GetAggregateScalarDataSeriesInBatchCompletedEventHandler GetAggregateScalarDataSeriesInBatchCompleted;
        
        /// <remarks/>
        public event StoreVectorDataCompletedEventHandler StoreVectorDataCompleted;
        
        /// <remarks/>
        public event StoreVectorDataByComponentIndexCompletedEventHandler StoreVectorDataByComponentIndexCompleted;
        
        /// <remarks/>
        public event GetLatestVectorDataCompletedEventHandler GetLatestVectorDataCompleted;
        
        /// <remarks/>
        public event GetLatestVectorDataByComponentIndexCompletedEventHandler GetLatestVectorDataByComponentIndexCompleted;
        
        /// <remarks/>
        public event StoreBinaryDataCompletedEventHandler StoreBinaryDataCompleted;
        
        /// <remarks/>
        public event GetLatestBinarySensorDataCompletedEventHandler GetLatestBinarySensorDataCompleted;
        
        /// <remarks/>
        public event DataToStringCompletedEventHandler DataToStringCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/RegisterSensor", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string RegisterSensor(string publisherName, System.Guid passCode, SensorInfo Sensor) {
            object[] results = this.Invoke("RegisterSensor", new object[] {
                        publisherName,
                        passCode,
                        Sensor});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void RegisterSensorAsync(string publisherName, System.Guid passCode, SensorInfo Sensor) {
            this.RegisterSensorAsync(publisherName, passCode, Sensor, null);
        }
        
        /// <remarks/>
        public void RegisterSensorAsync(string publisherName, System.Guid passCode, SensorInfo Sensor, object userState) {
            if ((this.RegisterSensorOperationCompleted == null)) {
                this.RegisterSensorOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRegisterSensorOperationCompleted);
            }
            this.InvokeAsync("RegisterSensor", new object[] {
                        publisherName,
                        passCode,
                        Sensor}, this.RegisterSensorOperationCompleted, userState);
        }
        
        private void OnRegisterSensorOperationCompleted(object arg) {
            if ((this.RegisterSensorCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.RegisterSensorCompleted(this, new RegisterSensorCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/RegisterVectorSensor", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string RegisterVectorSensor(string publisherName, System.Guid passCode, SensorInfo Sensor) {
            object[] results = this.Invoke("RegisterVectorSensor", new object[] {
                        publisherName,
                        passCode,
                        Sensor});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void RegisterVectorSensorAsync(string publisherName, System.Guid passCode, SensorInfo Sensor) {
            this.RegisterVectorSensorAsync(publisherName, passCode, Sensor, null);
        }
        
        /// <remarks/>
        public void RegisterVectorSensorAsync(string publisherName, System.Guid passCode, SensorInfo Sensor, object userState) {
            if ((this.RegisterVectorSensorOperationCompleted == null)) {
                this.RegisterVectorSensorOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRegisterVectorSensorOperationCompleted);
            }
            this.InvokeAsync("RegisterVectorSensor", new object[] {
                        publisherName,
                        passCode,
                        Sensor}, this.RegisterVectorSensorOperationCompleted, userState);
        }
        
        private void OnRegisterVectorSensorOperationCompleted(object arg) {
            if ((this.RegisterVectorSensorCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.RegisterVectorSensorCompleted(this, new RegisterVectorSensorCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteSensor", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string DeleteSensor(string publisherName, System.Guid passCode, string sensorName) {
            object[] results = this.Invoke("DeleteSensor", new object[] {
                        publisherName,
                        passCode,
                        sensorName});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteSensorAsync(string publisherName, System.Guid passCode, string sensorName) {
            this.DeleteSensorAsync(publisherName, passCode, sensorName, null);
        }
        
        /// <remarks/>
        public void DeleteSensorAsync(string publisherName, System.Guid passCode, string sensorName, object userState) {
            if ((this.DeleteSensorOperationCompleted == null)) {
                this.DeleteSensorOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteSensorOperationCompleted);
            }
            this.InvokeAsync("DeleteSensor", new object[] {
                        publisherName,
                        passCode,
                        sensorName}, this.DeleteSensorOperationCompleted, userState);
        }
        
        private void OnDeleteSensorOperationCompleted(object arg) {
            if ((this.DeleteSensorCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteSensorCompleted(this, new DeleteSensorCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteVectorSensor", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string DeleteVectorSensor(string publisherName, System.Guid passCode, string sensorName, string sensorType) {
            object[] results = this.Invoke("DeleteVectorSensor", new object[] {
                        publisherName,
                        passCode,
                        sensorName,
                        sensorType});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteVectorSensorAsync(string publisherName, System.Guid passCode, string sensorName, string sensorType) {
            this.DeleteVectorSensorAsync(publisherName, passCode, sensorName, sensorType, null);
        }
        
        /// <remarks/>
        public void DeleteVectorSensorAsync(string publisherName, System.Guid passCode, string sensorName, string sensorType, object userState) {
            if ((this.DeleteVectorSensorOperationCompleted == null)) {
                this.DeleteVectorSensorOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteVectorSensorOperationCompleted);
            }
            this.InvokeAsync("DeleteVectorSensor", new object[] {
                        publisherName,
                        passCode,
                        sensorName,
                        sensorType}, this.DeleteVectorSensorOperationCompleted, userState);
        }
        
        private void OnDeleteVectorSensorOperationCompleted(object arg) {
            if ((this.DeleteVectorSensorCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteVectorSensorCompleted(this, new DeleteVectorSensorCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UpdateSensorLocation", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string UpdateSensorLocation(string publisherName, System.Guid passCode, string sensorName, double latitude, double longitude, double altitude) {
            object[] results = this.Invoke("UpdateSensorLocation", new object[] {
                        publisherName,
                        passCode,
                        sensorName,
                        latitude,
                        longitude,
                        altitude});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void UpdateSensorLocationAsync(string publisherName, System.Guid passCode, string sensorName, double latitude, double longitude, double altitude) {
            this.UpdateSensorLocationAsync(publisherName, passCode, sensorName, latitude, longitude, altitude, null);
        }
        
        /// <remarks/>
        public void UpdateSensorLocationAsync(string publisherName, System.Guid passCode, string sensorName, double latitude, double longitude, double altitude, object userState) {
            if ((this.UpdateSensorLocationOperationCompleted == null)) {
                this.UpdateSensorLocationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateSensorLocationOperationCompleted);
            }
            this.InvokeAsync("UpdateSensorLocation", new object[] {
                        publisherName,
                        passCode,
                        sensorName,
                        latitude,
                        longitude,
                        altitude}, this.UpdateSensorLocationOperationCompleted, userState);
        }
        
        private void OnUpdateSensorLocationOperationCompleted(object arg) {
            if ((this.UpdateSensorLocationCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateSensorLocationCompleted(this, new UpdateSensorLocationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetSensorByPublisherAndName", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("Sensor")]
        public SensorInfo GetSensorByPublisherAndName(string publisherName, string sensorName) {
            object[] results = this.Invoke("GetSensorByPublisherAndName", new object[] {
                        publisherName,
                        sensorName});
            return ((SensorInfo)(results[0]));
        }
        
        /// <remarks/>
        public void GetSensorByPublisherAndNameAsync(string publisherName, string sensorName) {
            this.GetSensorByPublisherAndNameAsync(publisherName, sensorName, null);
        }
        
        /// <remarks/>
        public void GetSensorByPublisherAndNameAsync(string publisherName, string sensorName, object userState) {
            if ((this.GetSensorByPublisherAndNameOperationCompleted == null)) {
                this.GetSensorByPublisherAndNameOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSensorByPublisherAndNameOperationCompleted);
            }
            this.InvokeAsync("GetSensorByPublisherAndName", new object[] {
                        publisherName,
                        sensorName}, this.GetSensorByPublisherAndNameOperationCompleted, userState);
        }
        
        private void OnGetSensorByPublisherAndNameOperationCompleted(object arg) {
            if ((this.GetSensorByPublisherAndNameCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSensorByPublisherAndNameCompleted(this, new GetSensorByPublisherAndNameCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetSensorsByPublisher", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorInfo[] GetSensorsByPublisher(string publisherName) {
            object[] results = this.Invoke("GetSensorsByPublisher", new object[] {
                        publisherName});
            return ((SensorInfo[])(results[0]));
        }
        
        /// <remarks/>
        public void GetSensorsByPublisherAsync(string publisherName) {
            this.GetSensorsByPublisherAsync(publisherName, null);
        }
        
        /// <remarks/>
        public void GetSensorsByPublisherAsync(string publisherName, object userState) {
            if ((this.GetSensorsByPublisherOperationCompleted == null)) {
                this.GetSensorsByPublisherOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSensorsByPublisherOperationCompleted);
            }
            this.InvokeAsync("GetSensorsByPublisher", new object[] {
                        publisherName}, this.GetSensorsByPublisherOperationCompleted, userState);
        }
        
        private void OnGetSensorsByPublisherOperationCompleted(object arg) {
            if ((this.GetSensorsByPublisherCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSensorsByPublisherCompleted(this, new GetSensorsByPublisherCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/StoreScalarData", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string StoreScalarData(string publisherName, System.Guid passCode, string sensorName, SensorData data) {
            object[] results = this.Invoke("StoreScalarData", new object[] {
                        publisherName,
                        passCode,
                        sensorName,
                        data});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void StoreScalarDataAsync(string publisherName, System.Guid passCode, string sensorName, SensorData data) {
            this.StoreScalarDataAsync(publisherName, passCode, sensorName, data, null);
        }
        
        /// <remarks/>
        public void StoreScalarDataAsync(string publisherName, System.Guid passCode, string sensorName, SensorData data, object userState) {
            if ((this.StoreScalarDataOperationCompleted == null)) {
                this.StoreScalarDataOperationCompleted = new System.Threading.SendOrPostCallback(this.OnStoreScalarDataOperationCompleted);
            }
            this.InvokeAsync("StoreScalarData", new object[] {
                        publisherName,
                        passCode,
                        sensorName,
                        data}, this.StoreScalarDataOperationCompleted, userState);
        }
        
        private void OnStoreScalarDataOperationCompleted(object arg) {
            if ((this.StoreScalarDataCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.StoreScalarDataCompleted(this, new StoreScalarDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/StoreScalarDataBatch", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string StoreScalarDataBatch(string[] publisherNames, System.Guid[] passCodes, string[] sensorNames, SensorData[] data) {
            object[] results = this.Invoke("StoreScalarDataBatch", new object[] {
                        publisherNames,
                        passCodes,
                        sensorNames,
                        data});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void StoreScalarDataBatchAsync(string[] publisherNames, System.Guid[] passCodes, string[] sensorNames, SensorData[] data) {
            this.StoreScalarDataBatchAsync(publisherNames, passCodes, sensorNames, data, null);
        }
        
        /// <remarks/>
        public void StoreScalarDataBatchAsync(string[] publisherNames, System.Guid[] passCodes, string[] sensorNames, SensorData[] data, object userState) {
            if ((this.StoreScalarDataBatchOperationCompleted == null)) {
                this.StoreScalarDataBatchOperationCompleted = new System.Threading.SendOrPostCallback(this.OnStoreScalarDataBatchOperationCompleted);
            }
            this.InvokeAsync("StoreScalarDataBatch", new object[] {
                        publisherNames,
                        passCodes,
                        sensorNames,
                        data}, this.StoreScalarDataBatchOperationCompleted, userState);
        }
        
        private void OnStoreScalarDataBatchOperationCompleted(object arg) {
            if ((this.StoreScalarDataBatchCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.StoreScalarDataBatchCompleted(this, new StoreScalarDataBatchCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLatestScalarData", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorData GetLatestScalarData(string publisherName, string sensorName) {
            object[] results = this.Invoke("GetLatestScalarData", new object[] {
                        publisherName,
                        sensorName});
            return ((SensorData)(results[0]));
        }
        
        /// <remarks/>
        public void GetLatestScalarDataAsync(string publisherName, string sensorName) {
            this.GetLatestScalarDataAsync(publisherName, sensorName, null);
        }
        
        /// <remarks/>
        public void GetLatestScalarDataAsync(string publisherName, string sensorName, object userState) {
            if ((this.GetLatestScalarDataOperationCompleted == null)) {
                this.GetLatestScalarDataOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLatestScalarDataOperationCompleted);
            }
            this.InvokeAsync("GetLatestScalarData", new object[] {
                        publisherName,
                        sensorName}, this.GetLatestScalarDataOperationCompleted, userState);
        }
        
        private void OnGetLatestScalarDataOperationCompleted(object arg) {
            if ((this.GetLatestScalarDataCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLatestScalarDataCompleted(this, new GetLatestScalarDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLatestScalarDataInBatch", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorData[] GetLatestScalarDataInBatch(string[] publisherNames, string[] sensorNames) {
            object[] results = this.Invoke("GetLatestScalarDataInBatch", new object[] {
                        publisherNames,
                        sensorNames});
            return ((SensorData[])(results[0]));
        }
        
        /// <remarks/>
        public void GetLatestScalarDataInBatchAsync(string[] publisherNames, string[] sensorNames) {
            this.GetLatestScalarDataInBatchAsync(publisherNames, sensorNames, null);
        }
        
        /// <remarks/>
        public void GetLatestScalarDataInBatchAsync(string[] publisherNames, string[] sensorNames, object userState) {
            if ((this.GetLatestScalarDataInBatchOperationCompleted == null)) {
                this.GetLatestScalarDataInBatchOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLatestScalarDataInBatchOperationCompleted);
            }
            this.InvokeAsync("GetLatestScalarDataInBatch", new object[] {
                        publisherNames,
                        sensorNames}, this.GetLatestScalarDataInBatchOperationCompleted, userState);
        }
        
        private void OnGetLatestScalarDataInBatchOperationCompleted(object arg) {
            if ((this.GetLatestScalarDataInBatchCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLatestScalarDataInBatchCompleted(this, new GetLatestScalarDataInBatchCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetScalarDataSeries", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorData GetScalarDataSeries(string publisherName, string sensorName, System.DateTime startTime, System.DateTime endTime) {
            object[] results = this.Invoke("GetScalarDataSeries", new object[] {
                        publisherName,
                        sensorName,
                        startTime,
                        endTime});
            return ((SensorData)(results[0]));
        }
        
        /// <remarks/>
        public void GetScalarDataSeriesAsync(string publisherName, string sensorName, System.DateTime startTime, System.DateTime endTime) {
            this.GetScalarDataSeriesAsync(publisherName, sensorName, startTime, endTime, null);
        }
        
        /// <remarks/>
        public void GetScalarDataSeriesAsync(string publisherName, string sensorName, System.DateTime startTime, System.DateTime endTime, object userState) {
            if ((this.GetScalarDataSeriesOperationCompleted == null)) {
                this.GetScalarDataSeriesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetScalarDataSeriesOperationCompleted);
            }
            this.InvokeAsync("GetScalarDataSeries", new object[] {
                        publisherName,
                        sensorName,
                        startTime,
                        endTime}, this.GetScalarDataSeriesOperationCompleted, userState);
        }
        
        private void OnGetScalarDataSeriesOperationCompleted(object arg) {
            if ((this.GetScalarDataSeriesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetScalarDataSeriesCompleted(this, new GetScalarDataSeriesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetScalarDataSeriesInBatch", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorData[] GetScalarDataSeriesInBatch(string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime) {
            object[] results = this.Invoke("GetScalarDataSeriesInBatch", new object[] {
                        publisherNames,
                        sensorNames,
                        startTime,
                        endTime});
            return ((SensorData[])(results[0]));
        }
        
        /// <remarks/>
        public void GetScalarDataSeriesInBatchAsync(string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime) {
            this.GetScalarDataSeriesInBatchAsync(publisherNames, sensorNames, startTime, endTime, null);
        }
        
        /// <remarks/>
        public void GetScalarDataSeriesInBatchAsync(string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime, object userState) {
            if ((this.GetScalarDataSeriesInBatchOperationCompleted == null)) {
                this.GetScalarDataSeriesInBatchOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetScalarDataSeriesInBatchOperationCompleted);
            }
            this.InvokeAsync("GetScalarDataSeriesInBatch", new object[] {
                        publisherNames,
                        sensorNames,
                        startTime,
                        endTime}, this.GetScalarDataSeriesInBatchOperationCompleted, userState);
        }
        
        private void OnGetScalarDataSeriesInBatchOperationCompleted(object arg) {
            if ((this.GetScalarDataSeriesInBatchCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetScalarDataSeriesInBatchCompleted(this, new GetScalarDataSeriesInBatchCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetAggregateScalarData", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorData GetAggregateScalarData(string publisherName, string sensorName, System.DateTime startTime, System.DateTime endTime) {
            object[] results = this.Invoke("GetAggregateScalarData", new object[] {
                        publisherName,
                        sensorName,
                        startTime,
                        endTime});
            return ((SensorData)(results[0]));
        }
        
        /// <remarks/>
        public void GetAggregateScalarDataAsync(string publisherName, string sensorName, System.DateTime startTime, System.DateTime endTime) {
            this.GetAggregateScalarDataAsync(publisherName, sensorName, startTime, endTime, null);
        }
        
        /// <remarks/>
        public void GetAggregateScalarDataAsync(string publisherName, string sensorName, System.DateTime startTime, System.DateTime endTime, object userState) {
            if ((this.GetAggregateScalarDataOperationCompleted == null)) {
                this.GetAggregateScalarDataOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAggregateScalarDataOperationCompleted);
            }
            this.InvokeAsync("GetAggregateScalarData", new object[] {
                        publisherName,
                        sensorName,
                        startTime,
                        endTime}, this.GetAggregateScalarDataOperationCompleted, userState);
        }
        
        private void OnGetAggregateScalarDataOperationCompleted(object arg) {
            if ((this.GetAggregateScalarDataCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetAggregateScalarDataCompleted(this, new GetAggregateScalarDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetAggregateScalarDataInBatch", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorData[] GetAggregateScalarDataInBatch(string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime) {
            object[] results = this.Invoke("GetAggregateScalarDataInBatch", new object[] {
                        publisherNames,
                        sensorNames,
                        startTime,
                        endTime});
            return ((SensorData[])(results[0]));
        }
        
        /// <remarks/>
        public void GetAggregateScalarDataInBatchAsync(string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime) {
            this.GetAggregateScalarDataInBatchAsync(publisherNames, sensorNames, startTime, endTime, null);
        }
        
        /// <remarks/>
        public void GetAggregateScalarDataInBatchAsync(string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime, object userState) {
            if ((this.GetAggregateScalarDataInBatchOperationCompleted == null)) {
                this.GetAggregateScalarDataInBatchOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAggregateScalarDataInBatchOperationCompleted);
            }
            this.InvokeAsync("GetAggregateScalarDataInBatch", new object[] {
                        publisherNames,
                        sensorNames,
                        startTime,
                        endTime}, this.GetAggregateScalarDataInBatchOperationCompleted, userState);
        }
        
        private void OnGetAggregateScalarDataInBatchOperationCompleted(object arg) {
            if ((this.GetAggregateScalarDataInBatchCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetAggregateScalarDataInBatchCompleted(this, new GetAggregateScalarDataInBatchCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetAggregateScalarDataSeries", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorData GetAggregateScalarDataSeries(string publisherName, string sensorName, System.DateTime startTime, System.DateTime endTime, int aggregateIntervalInSeconds) {
            object[] results = this.Invoke("GetAggregateScalarDataSeries", new object[] {
                        publisherName,
                        sensorName,
                        startTime,
                        endTime,
                        aggregateIntervalInSeconds});
            return ((SensorData)(results[0]));
        }
        
        /// <remarks/>
        public void GetAggregateScalarDataSeriesAsync(string publisherName, string sensorName, System.DateTime startTime, System.DateTime endTime, int aggregateIntervalInSeconds) {
            this.GetAggregateScalarDataSeriesAsync(publisherName, sensorName, startTime, endTime, aggregateIntervalInSeconds, null);
        }
        
        /// <remarks/>
        public void GetAggregateScalarDataSeriesAsync(string publisherName, string sensorName, System.DateTime startTime, System.DateTime endTime, int aggregateIntervalInSeconds, object userState) {
            if ((this.GetAggregateScalarDataSeriesOperationCompleted == null)) {
                this.GetAggregateScalarDataSeriesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAggregateScalarDataSeriesOperationCompleted);
            }
            this.InvokeAsync("GetAggregateScalarDataSeries", new object[] {
                        publisherName,
                        sensorName,
                        startTime,
                        endTime,
                        aggregateIntervalInSeconds}, this.GetAggregateScalarDataSeriesOperationCompleted, userState);
        }
        
        private void OnGetAggregateScalarDataSeriesOperationCompleted(object arg) {
            if ((this.GetAggregateScalarDataSeriesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetAggregateScalarDataSeriesCompleted(this, new GetAggregateScalarDataSeriesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetAggregateScalarDataSeriesInBatch", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlArrayItemAttribute("ArrayOfSensorData")]
        [return: System.Xml.Serialization.XmlArrayItemAttribute(NestingLevel=1)]
        public SensorData[][] GetAggregateScalarDataSeriesInBatch(string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime, int aggregateIntervalInSeconds) {
            object[] results = this.Invoke("GetAggregateScalarDataSeriesInBatch", new object[] {
                        publisherNames,
                        sensorNames,
                        startTime,
                        endTime,
                        aggregateIntervalInSeconds});
            return ((SensorData[][])(results[0]));
        }
        
        /// <remarks/>
        public void GetAggregateScalarDataSeriesInBatchAsync(string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime, int aggregateIntervalInSeconds) {
            this.GetAggregateScalarDataSeriesInBatchAsync(publisherNames, sensorNames, startTime, endTime, aggregateIntervalInSeconds, null);
        }
        
        /// <remarks/>
        public void GetAggregateScalarDataSeriesInBatchAsync(string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime, int aggregateIntervalInSeconds, object userState) {
            if ((this.GetAggregateScalarDataSeriesInBatchOperationCompleted == null)) {
                this.GetAggregateScalarDataSeriesInBatchOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAggregateScalarDataSeriesInBatchOperationCompleted);
            }
            this.InvokeAsync("GetAggregateScalarDataSeriesInBatch", new object[] {
                        publisherNames,
                        sensorNames,
                        startTime,
                        endTime,
                        aggregateIntervalInSeconds}, this.GetAggregateScalarDataSeriesInBatchOperationCompleted, userState);
        }
        
        private void OnGetAggregateScalarDataSeriesInBatchOperationCompleted(object arg) {
            if ((this.GetAggregateScalarDataSeriesInBatchCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetAggregateScalarDataSeriesInBatchCompleted(this, new GetAggregateScalarDataSeriesInBatchCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/StoreVectorData", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string StoreVectorData(string publisherName, System.Guid passCode, string sensorName, SensorData[] data, int sensorTypeID) {
            object[] results = this.Invoke("StoreVectorData", new object[] {
                        publisherName,
                        passCode,
                        sensorName,
                        data,
                        sensorTypeID});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void StoreVectorDataAsync(string publisherName, System.Guid passCode, string sensorName, SensorData[] data, int sensorTypeID) {
            this.StoreVectorDataAsync(publisherName, passCode, sensorName, data, sensorTypeID, null);
        }
        
        /// <remarks/>
        public void StoreVectorDataAsync(string publisherName, System.Guid passCode, string sensorName, SensorData[] data, int sensorTypeID, object userState) {
            if ((this.StoreVectorDataOperationCompleted == null)) {
                this.StoreVectorDataOperationCompleted = new System.Threading.SendOrPostCallback(this.OnStoreVectorDataOperationCompleted);
            }
            this.InvokeAsync("StoreVectorData", new object[] {
                        publisherName,
                        passCode,
                        sensorName,
                        data,
                        sensorTypeID}, this.StoreVectorDataOperationCompleted, userState);
        }
        
        private void OnStoreVectorDataOperationCompleted(object arg) {
            if ((this.StoreVectorDataCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.StoreVectorDataCompleted(this, new StoreVectorDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/StoreVectorDataByComponentIndex", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string StoreVectorDataByComponentIndex(string publisherName, System.Guid passCode, string sensorName, SensorData data, int componentIndex) {
            object[] results = this.Invoke("StoreVectorDataByComponentIndex", new object[] {
                        publisherName,
                        passCode,
                        sensorName,
                        data,
                        componentIndex});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void StoreVectorDataByComponentIndexAsync(string publisherName, System.Guid passCode, string sensorName, SensorData data, int componentIndex) {
            this.StoreVectorDataByComponentIndexAsync(publisherName, passCode, sensorName, data, componentIndex, null);
        }
        
        /// <remarks/>
        public void StoreVectorDataByComponentIndexAsync(string publisherName, System.Guid passCode, string sensorName, SensorData data, int componentIndex, object userState) {
            if ((this.StoreVectorDataByComponentIndexOperationCompleted == null)) {
                this.StoreVectorDataByComponentIndexOperationCompleted = new System.Threading.SendOrPostCallback(this.OnStoreVectorDataByComponentIndexOperationCompleted);
            }
            this.InvokeAsync("StoreVectorDataByComponentIndex", new object[] {
                        publisherName,
                        passCode,
                        sensorName,
                        data,
                        componentIndex}, this.StoreVectorDataByComponentIndexOperationCompleted, userState);
        }
        
        private void OnStoreVectorDataByComponentIndexOperationCompleted(object arg) {
            if ((this.StoreVectorDataByComponentIndexCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.StoreVectorDataByComponentIndexCompleted(this, new StoreVectorDataByComponentIndexCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLatestVectorData", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorData[] GetLatestVectorData(string publisherName, string sensorName, int sensorTypeID) {
            object[] results = this.Invoke("GetLatestVectorData", new object[] {
                        publisherName,
                        sensorName,
                        sensorTypeID});
            return ((SensorData[])(results[0]));
        }
        
        /// <remarks/>
        public void GetLatestVectorDataAsync(string publisherName, string sensorName, int sensorTypeID) {
            this.GetLatestVectorDataAsync(publisherName, sensorName, sensorTypeID, null);
        }
        
        /// <remarks/>
        public void GetLatestVectorDataAsync(string publisherName, string sensorName, int sensorTypeID, object userState) {
            if ((this.GetLatestVectorDataOperationCompleted == null)) {
                this.GetLatestVectorDataOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLatestVectorDataOperationCompleted);
            }
            this.InvokeAsync("GetLatestVectorData", new object[] {
                        publisherName,
                        sensorName,
                        sensorTypeID}, this.GetLatestVectorDataOperationCompleted, userState);
        }
        
        private void OnGetLatestVectorDataOperationCompleted(object arg) {
            if ((this.GetLatestVectorDataCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLatestVectorDataCompleted(this, new GetLatestVectorDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLatestVectorDataByComponentIndex", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorData GetLatestVectorDataByComponentIndex(string publisherName, string sensorName, int componentIndex) {
            object[] results = this.Invoke("GetLatestVectorDataByComponentIndex", new object[] {
                        publisherName,
                        sensorName,
                        componentIndex});
            return ((SensorData)(results[0]));
        }
        
        /// <remarks/>
        public void GetLatestVectorDataByComponentIndexAsync(string publisherName, string sensorName, int componentIndex) {
            this.GetLatestVectorDataByComponentIndexAsync(publisherName, sensorName, componentIndex, null);
        }
        
        /// <remarks/>
        public void GetLatestVectorDataByComponentIndexAsync(string publisherName, string sensorName, int componentIndex, object userState) {
            if ((this.GetLatestVectorDataByComponentIndexOperationCompleted == null)) {
                this.GetLatestVectorDataByComponentIndexOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLatestVectorDataByComponentIndexOperationCompleted);
            }
            this.InvokeAsync("GetLatestVectorDataByComponentIndex", new object[] {
                        publisherName,
                        sensorName,
                        componentIndex}, this.GetLatestVectorDataByComponentIndexOperationCompleted, userState);
        }
        
        private void OnGetLatestVectorDataByComponentIndexOperationCompleted(object arg) {
            if ((this.GetLatestVectorDataByComponentIndexCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLatestVectorDataByComponentIndexCompleted(this, new GetLatestVectorDataByComponentIndexCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/StoreBinaryData", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string StoreBinaryData(string publisherName, System.Guid passCode, string sensorName, BinarySensorData data) {
            object[] results = this.Invoke("StoreBinaryData", new object[] {
                        publisherName,
                        passCode,
                        sensorName,
                        data});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void StoreBinaryDataAsync(string publisherName, System.Guid passCode, string sensorName, BinarySensorData data) {
            this.StoreBinaryDataAsync(publisherName, passCode, sensorName, data, null);
        }
        
        /// <remarks/>
        public void StoreBinaryDataAsync(string publisherName, System.Guid passCode, string sensorName, BinarySensorData data, object userState) {
            if ((this.StoreBinaryDataOperationCompleted == null)) {
                this.StoreBinaryDataOperationCompleted = new System.Threading.SendOrPostCallback(this.OnStoreBinaryDataOperationCompleted);
            }
            this.InvokeAsync("StoreBinaryData", new object[] {
                        publisherName,
                        passCode,
                        sensorName,
                        data}, this.StoreBinaryDataOperationCompleted, userState);
        }
        
        private void OnStoreBinaryDataOperationCompleted(object arg) {
            if ((this.StoreBinaryDataCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.StoreBinaryDataCompleted(this, new StoreBinaryDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLatestBinarySensorData", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public BinarySensorData GetLatestBinarySensorData(string publisherName, string sensorName, int type) {
            object[] results = this.Invoke("GetLatestBinarySensorData", new object[] {
                        publisherName,
                        sensorName,
                        type});
            return ((BinarySensorData)(results[0]));
        }
        
        /// <remarks/>
        public void GetLatestBinarySensorDataAsync(string publisherName, string sensorName, int type) {
            this.GetLatestBinarySensorDataAsync(publisherName, sensorName, type, null);
        }
        
        /// <remarks/>
        public void GetLatestBinarySensorDataAsync(string publisherName, string sensorName, int type, object userState) {
            if ((this.GetLatestBinarySensorDataOperationCompleted == null)) {
                this.GetLatestBinarySensorDataOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLatestBinarySensorDataOperationCompleted);
            }
            this.InvokeAsync("GetLatestBinarySensorData", new object[] {
                        publisherName,
                        sensorName,
                        type}, this.GetLatestBinarySensorDataOperationCompleted, userState);
        }
        
        private void OnGetLatestBinarySensorDataOperationCompleted(object arg) {
            if ((this.GetLatestBinarySensorDataCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLatestBinarySensorDataCompleted(this, new GetLatestBinarySensorDataCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DataToString", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string DataToString(BasicSensorData data) {
            object[] results = this.Invoke("DataToString", new object[] {
                        data});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void DataToStringAsync(BasicSensorData data) {
            this.DataToStringAsync(data, null);
        }
        
        /// <remarks/>
        public void DataToStringAsync(BasicSensorData data, object userState) {
            if ((this.DataToStringOperationCompleted == null)) {
                this.DataToStringOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDataToStringOperationCompleted);
            }
            this.InvokeAsync("DataToString", new object[] {
                        data}, this.DataToStringOperationCompleted, userState);
        }
        
        private void OnDataToStringOperationCompleted(object arg) {
            if ((this.DataToStringCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DataToStringCompleted(this, new DataToStringCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }
        
        private bool IsLocalFileSystemWebService(string url) {
            if (((url == null) 
                        || (url == string.Empty))) {
                return false;
            }
            System.Uri wsUri = new System.Uri(url);
            if (((wsUri.Port >= 1024) 
                        && (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) {
                return true;
            }
            return false;
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.1433")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
    public partial class SensorInfo {
        
        private string publisherNameField;
        
        private string sensorNameField;
        
        private double longitudeField;
        
        private double latitudeField;
        
        private double altitudeField;
        
        private string unitField;
        
        private string sensorTypeField;
        
        private string urlField;
        
        private string keywordsField;
        
        private string descriptionField;
        
        private string dataTypeField;
        
        private double samplingPeriodField;
        
        private double reportPeriodField;
        
        private System.DateTime entryTimeField;
        
        private string webServiceUrlField;
        
        /// <remarks/>
        public string publisherName {
            get {
                return this.publisherNameField;
            }
            set {
                this.publisherNameField = value;
            }
        }
        
        /// <remarks/>
        public string sensorName {
            get {
                return this.sensorNameField;
            }
            set {
                this.sensorNameField = value;
            }
        }
        
        /// <remarks/>
        public double longitude {
            get {
                return this.longitudeField;
            }
            set {
                this.longitudeField = value;
            }
        }
        
        /// <remarks/>
        public double latitude {
            get {
                return this.latitudeField;
            }
            set {
                this.latitudeField = value;
            }
        }
        
        /// <remarks/>
        public double altitude {
            get {
                return this.altitudeField;
            }
            set {
                this.altitudeField = value;
            }
        }
        
        /// <remarks/>
        public string unit {
            get {
                return this.unitField;
            }
            set {
                this.unitField = value;
            }
        }
        
        /// <remarks/>
        public string sensorType {
            get {
                return this.sensorTypeField;
            }
            set {
                this.sensorTypeField = value;
            }
        }
        
        /// <remarks/>
        public string url {
            get {
                return this.urlField;
            }
            set {
                this.urlField = value;
            }
        }
        
        /// <remarks/>
        public string keywords {
            get {
                return this.keywordsField;
            }
            set {
                this.keywordsField = value;
            }
        }
        
        /// <remarks/>
        public string description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
            }
        }
        
        /// <remarks/>
        public string dataType {
            get {
                return this.dataTypeField;
            }
            set {
                this.dataTypeField = value;
            }
        }
        
        /// <remarks/>
        public double samplingPeriod {
            get {
                return this.samplingPeriodField;
            }
            set {
                this.samplingPeriodField = value;
            }
        }
        
        /// <remarks/>
        public double reportPeriod {
            get {
                return this.reportPeriodField;
            }
            set {
                this.reportPeriodField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime entryTime {
            get {
                return this.entryTimeField;
            }
            set {
                this.entryTimeField = value;
            }
        }
        
        /// <remarks/>
        public string webServiceUrl {
            get {
                return this.webServiceUrlField;
            }
            set {
                this.webServiceUrlField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BinarySensorData))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SensorData))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.1433")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
    public partial class BasicSensorData {
        
        private int sensorTypeField;
        
        private int dataTypeField;
        
        private System.DateTime[] timestampsField;
        
        /// <remarks/>
        public int SensorType {
            get {
                return this.sensorTypeField;
            }
            set {
                this.sensorTypeField = value;
            }
        }
        
        /// <remarks/>
        public int DataType {
            get {
                return this.dataTypeField;
            }
            set {
                this.dataTypeField = value;
            }
        }
        
        /// <remarks/>
        public System.DateTime[] Timestamps {
            get {
                return this.timestampsField;
            }
            set {
                this.timestampsField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.1433")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
    public partial class BinarySensorData : BasicSensorData {
        
        private byte[][] dataField;
        
        /// <remarks/>
        public byte[][] Data {
            get {
                return this.dataField;
            }
            set {
                this.dataField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.1433")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
    public partial class SensorData : BasicSensorData {
        
        private double[] dataField;
        
        /// <remarks/>
        public double[] Data {
            get {
                return this.dataField;
            }
            set {
                this.dataField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void RegisterSensorCompletedEventHandler(object sender, RegisterSensorCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class RegisterSensorCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal RegisterSensorCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void RegisterVectorSensorCompletedEventHandler(object sender, RegisterVectorSensorCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class RegisterVectorSensorCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal RegisterVectorSensorCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void DeleteSensorCompletedEventHandler(object sender, DeleteSensorCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteSensorCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteSensorCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void DeleteVectorSensorCompletedEventHandler(object sender, DeleteVectorSensorCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteVectorSensorCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteVectorSensorCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void UpdateSensorLocationCompletedEventHandler(object sender, UpdateSensorLocationCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class UpdateSensorLocationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal UpdateSensorLocationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetSensorByPublisherAndNameCompletedEventHandler(object sender, GetSensorByPublisherAndNameCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetSensorByPublisherAndNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetSensorByPublisherAndNameCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SensorInfo Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SensorInfo)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetSensorsByPublisherCompletedEventHandler(object sender, GetSensorsByPublisherCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetSensorsByPublisherCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetSensorsByPublisherCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SensorInfo[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SensorInfo[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void StoreScalarDataCompletedEventHandler(object sender, StoreScalarDataCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class StoreScalarDataCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal StoreScalarDataCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void StoreScalarDataBatchCompletedEventHandler(object sender, StoreScalarDataBatchCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class StoreScalarDataBatchCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal StoreScalarDataBatchCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetLatestScalarDataCompletedEventHandler(object sender, GetLatestScalarDataCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetLatestScalarDataCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetLatestScalarDataCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SensorData Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SensorData)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetLatestScalarDataInBatchCompletedEventHandler(object sender, GetLatestScalarDataInBatchCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetLatestScalarDataInBatchCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetLatestScalarDataInBatchCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SensorData[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SensorData[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetScalarDataSeriesCompletedEventHandler(object sender, GetScalarDataSeriesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetScalarDataSeriesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetScalarDataSeriesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SensorData Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SensorData)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetScalarDataSeriesInBatchCompletedEventHandler(object sender, GetScalarDataSeriesInBatchCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetScalarDataSeriesInBatchCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetScalarDataSeriesInBatchCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SensorData[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SensorData[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetAggregateScalarDataCompletedEventHandler(object sender, GetAggregateScalarDataCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetAggregateScalarDataCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetAggregateScalarDataCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SensorData Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SensorData)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetAggregateScalarDataInBatchCompletedEventHandler(object sender, GetAggregateScalarDataInBatchCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetAggregateScalarDataInBatchCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetAggregateScalarDataInBatchCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SensorData[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SensorData[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetAggregateScalarDataSeriesCompletedEventHandler(object sender, GetAggregateScalarDataSeriesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetAggregateScalarDataSeriesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetAggregateScalarDataSeriesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SensorData Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SensorData)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetAggregateScalarDataSeriesInBatchCompletedEventHandler(object sender, GetAggregateScalarDataSeriesInBatchCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetAggregateScalarDataSeriesInBatchCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetAggregateScalarDataSeriesInBatchCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SensorData[][] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SensorData[][])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void StoreVectorDataCompletedEventHandler(object sender, StoreVectorDataCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class StoreVectorDataCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal StoreVectorDataCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void StoreVectorDataByComponentIndexCompletedEventHandler(object sender, StoreVectorDataByComponentIndexCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class StoreVectorDataByComponentIndexCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal StoreVectorDataByComponentIndexCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetLatestVectorDataCompletedEventHandler(object sender, GetLatestVectorDataCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetLatestVectorDataCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetLatestVectorDataCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SensorData[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SensorData[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetLatestVectorDataByComponentIndexCompletedEventHandler(object sender, GetLatestVectorDataByComponentIndexCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetLatestVectorDataByComponentIndexCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetLatestVectorDataByComponentIndexCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SensorData Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SensorData)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void StoreBinaryDataCompletedEventHandler(object sender, StoreBinaryDataCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class StoreBinaryDataCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal StoreBinaryDataCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetLatestBinarySensorDataCompletedEventHandler(object sender, GetLatestBinarySensorDataCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetLatestBinarySensorDataCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetLatestBinarySensorDataCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public BinarySensorData Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((BinarySensorData)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void DataToStringCompletedEventHandler(object sender, DataToStringCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DataToStringCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DataToStringCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
}

#pragma warning restore 1591