//------------------------------------------------------------------------------
// <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 TestApplicationManager.ApplicationManager {
    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://nec.research.microsoft.com/")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(BasicSensorData))]
    public partial class Service : System.Web.Services.Protocols.SoapHttpClientProtocol {
        
        private System.Threading.SendOrPostCallback GetSensorsByPolygonQueryOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDataByPolygonQueryOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAggregateDataByPolygonQueryOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetLatestScalarDataInBatchOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetScalarDataSeriesInBatchOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAggregateScalarDataInBatchOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAggregateScalarDataSeriesInBatchOperationCompleted;
        
        private bool useDefaultCredentialsSetExplicitly;
        
        /// <remarks/>
        public Service() {
            this.Url = global::TestApplicationManager.Properties.Settings.Default.TestApplicationManager_ApplicationManager_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 GetSensorsByPolygonQueryCompletedEventHandler GetSensorsByPolygonQueryCompleted;
        
        /// <remarks/>
        public event GetDataByPolygonQueryCompletedEventHandler GetDataByPolygonQueryCompleted;
        
        /// <remarks/>
        public event GetAggregateDataByPolygonQueryCompletedEventHandler GetAggregateDataByPolygonQueryCompleted;
        
        /// <remarks/>
        public event GetLatestScalarDataInBatchCompletedEventHandler GetLatestScalarDataInBatchCompleted;
        
        /// <remarks/>
        public event GetScalarDataSeriesInBatchCompletedEventHandler GetScalarDataSeriesInBatchCompleted;
        
        /// <remarks/>
        public event GetAggregateScalarDataInBatchCompletedEventHandler GetAggregateScalarDataInBatchCompleted;
        
        /// <remarks/>
        public event GetAggregateScalarDataSeriesInBatchCompletedEventHandler GetAggregateScalarDataSeriesInBatchCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://nec.research.microsoft.com/GetSensorsByPolygonQuery", RequestNamespace="http://nec.research.microsoft.com/", ResponseNamespace="http://nec.research.microsoft.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorInfo[] GetSensorsByPolygonQuery(PointF[] polygon, PointF[] viewport, string searchTerms, int[] sensorTypeIDs) {
            object[] results = this.Invoke("GetSensorsByPolygonQuery", new object[] {
                        polygon,
                        viewport,
                        searchTerms,
                        sensorTypeIDs});
            return ((SensorInfo[])(results[0]));
        }
        
        /// <remarks/>
        public void GetSensorsByPolygonQueryAsync(PointF[] polygon, PointF[] viewport, string searchTerms, int[] sensorTypeIDs) {
            this.GetSensorsByPolygonQueryAsync(polygon, viewport, searchTerms, sensorTypeIDs, null);
        }
        
        /// <remarks/>
        public void GetSensorsByPolygonQueryAsync(PointF[] polygon, PointF[] viewport, string searchTerms, int[] sensorTypeIDs, object userState) {
            if ((this.GetSensorsByPolygonQueryOperationCompleted == null)) {
                this.GetSensorsByPolygonQueryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSensorsByPolygonQueryOperationCompleted);
            }
            this.InvokeAsync("GetSensorsByPolygonQuery", new object[] {
                        polygon,
                        viewport,
                        searchTerms,
                        sensorTypeIDs}, this.GetSensorsByPolygonQueryOperationCompleted, userState);
        }
        
        private void OnGetSensorsByPolygonQueryOperationCompleted(object arg) {
            if ((this.GetSensorsByPolygonQueryCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSensorsByPolygonQueryCompleted(this, new GetSensorsByPolygonQueryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://nec.research.microsoft.com/GetDataByPolygonQuery", RequestNamespace="http://nec.research.microsoft.com/", ResponseNamespace="http://nec.research.microsoft.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorInfoAndDataList GetDataByPolygonQuery(PointF[] polygon, PointF[] viewport, string searchTerms, int[] sensorTypeIDs) {
            object[] results = this.Invoke("GetDataByPolygonQuery", new object[] {
                        polygon,
                        viewport,
                        searchTerms,
                        sensorTypeIDs});
            return ((SensorInfoAndDataList)(results[0]));
        }
        
        /// <remarks/>
        public void GetDataByPolygonQueryAsync(PointF[] polygon, PointF[] viewport, string searchTerms, int[] sensorTypeIDs) {
            this.GetDataByPolygonQueryAsync(polygon, viewport, searchTerms, sensorTypeIDs, null);
        }
        
        /// <remarks/>
        public void GetDataByPolygonQueryAsync(PointF[] polygon, PointF[] viewport, string searchTerms, int[] sensorTypeIDs, object userState) {
            if ((this.GetDataByPolygonQueryOperationCompleted == null)) {
                this.GetDataByPolygonQueryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDataByPolygonQueryOperationCompleted);
            }
            this.InvokeAsync("GetDataByPolygonQuery", new object[] {
                        polygon,
                        viewport,
                        searchTerms,
                        sensorTypeIDs}, this.GetDataByPolygonQueryOperationCompleted, userState);
        }
        
        private void OnGetDataByPolygonQueryOperationCompleted(object arg) {
            if ((this.GetDataByPolygonQueryCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDataByPolygonQueryCompleted(this, new GetDataByPolygonQueryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://nec.research.microsoft.com/GetAggregateDataByPolygonQuery", RequestNamespace="http://nec.research.microsoft.com/", ResponseNamespace="http://nec.research.microsoft.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorInfoAndDataList GetAggregateDataByPolygonQuery(PointF[] polygon, PointF[] viewport, string searchTerms, int[] sensorTypeIDs, System.DateTime startTime, System.DateTime endTime) {
            object[] results = this.Invoke("GetAggregateDataByPolygonQuery", new object[] {
                        polygon,
                        viewport,
                        searchTerms,
                        sensorTypeIDs,
                        startTime,
                        endTime});
            return ((SensorInfoAndDataList)(results[0]));
        }
        
        /// <remarks/>
        public void GetAggregateDataByPolygonQueryAsync(PointF[] polygon, PointF[] viewport, string searchTerms, int[] sensorTypeIDs, System.DateTime startTime, System.DateTime endTime) {
            this.GetAggregateDataByPolygonQueryAsync(polygon, viewport, searchTerms, sensorTypeIDs, startTime, endTime, null);
        }
        
        /// <remarks/>
        public void GetAggregateDataByPolygonQueryAsync(PointF[] polygon, PointF[] viewport, string searchTerms, int[] sensorTypeIDs, System.DateTime startTime, System.DateTime endTime, object userState) {
            if ((this.GetAggregateDataByPolygonQueryOperationCompleted == null)) {
                this.GetAggregateDataByPolygonQueryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAggregateDataByPolygonQueryOperationCompleted);
            }
            this.InvokeAsync("GetAggregateDataByPolygonQuery", new object[] {
                        polygon,
                        viewport,
                        searchTerms,
                        sensorTypeIDs,
                        startTime,
                        endTime}, this.GetAggregateDataByPolygonQueryOperationCompleted, userState);
        }
        
        private void OnGetAggregateDataByPolygonQueryOperationCompleted(object arg) {
            if ((this.GetAggregateDataByPolygonQueryCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetAggregateDataByPolygonQueryCompleted(this, new GetAggregateDataByPolygonQueryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://nec.research.microsoft.com/GetLatestScalarDataInBatch", RequestNamespace="http://nec.research.microsoft.com/", ResponseNamespace="http://nec.research.microsoft.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorData[] GetLatestScalarDataInBatch(string[] dataHubURLs, string[] publisherNames, string[] sensorNames) {
            object[] results = this.Invoke("GetLatestScalarDataInBatch", new object[] {
                        dataHubURLs,
                        publisherNames,
                        sensorNames});
            return ((SensorData[])(results[0]));
        }
        
        /// <remarks/>
        public void GetLatestScalarDataInBatchAsync(string[] dataHubURLs, string[] publisherNames, string[] sensorNames) {
            this.GetLatestScalarDataInBatchAsync(dataHubURLs, publisherNames, sensorNames, null);
        }
        
        /// <remarks/>
        public void GetLatestScalarDataInBatchAsync(string[] dataHubURLs, string[] publisherNames, string[] sensorNames, object userState) {
            if ((this.GetLatestScalarDataInBatchOperationCompleted == null)) {
                this.GetLatestScalarDataInBatchOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLatestScalarDataInBatchOperationCompleted);
            }
            this.InvokeAsync("GetLatestScalarDataInBatch", new object[] {
                        dataHubURLs,
                        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://nec.research.microsoft.com/GetScalarDataSeriesInBatch", RequestNamespace="http://nec.research.microsoft.com/", ResponseNamespace="http://nec.research.microsoft.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorData[] GetScalarDataSeriesInBatch(string[] dataHubURLs, string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime) {
            object[] results = this.Invoke("GetScalarDataSeriesInBatch", new object[] {
                        dataHubURLs,
                        publisherNames,
                        sensorNames,
                        startTime,
                        endTime});
            return ((SensorData[])(results[0]));
        }
        
        /// <remarks/>
        public void GetScalarDataSeriesInBatchAsync(string[] dataHubURLs, string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime) {
            this.GetScalarDataSeriesInBatchAsync(dataHubURLs, publisherNames, sensorNames, startTime, endTime, null);
        }
        
        /// <remarks/>
        public void GetScalarDataSeriesInBatchAsync(string[] dataHubURLs, 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[] {
                        dataHubURLs,
                        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://nec.research.microsoft.com/GetAggregateScalarDataInBatch", RequestNamespace="http://nec.research.microsoft.com/", ResponseNamespace="http://nec.research.microsoft.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorData[] GetAggregateScalarDataInBatch(string[] dataHubURLs, string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime) {
            object[] results = this.Invoke("GetAggregateScalarDataInBatch", new object[] {
                        dataHubURLs,
                        publisherNames,
                        sensorNames,
                        startTime,
                        endTime});
            return ((SensorData[])(results[0]));
        }
        
        /// <remarks/>
        public void GetAggregateScalarDataInBatchAsync(string[] dataHubURLs, string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime) {
            this.GetAggregateScalarDataInBatchAsync(dataHubURLs, publisherNames, sensorNames, startTime, endTime, null);
        }
        
        /// <remarks/>
        public void GetAggregateScalarDataInBatchAsync(string[] dataHubURLs, 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[] {
                        dataHubURLs,
                        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://nec.research.microsoft.com/GetAggregateScalarDataSeriesInBatch", RequestNamespace="http://nec.research.microsoft.com/", ResponseNamespace="http://nec.research.microsoft.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SensorData[] GetAggregateScalarDataSeriesInBatch(string[] dataHubURLs, string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime, int aggregateIntervalInSeconds) {
            object[] results = this.Invoke("GetAggregateScalarDataSeriesInBatch", new object[] {
                        dataHubURLs,
                        publisherNames,
                        sensorNames,
                        startTime,
                        endTime,
                        aggregateIntervalInSeconds});
            return ((SensorData[])(results[0]));
        }
        
        /// <remarks/>
        public void GetAggregateScalarDataSeriesInBatchAsync(string[] dataHubURLs, string[] publisherNames, string[] sensorNames, System.DateTime startTime, System.DateTime endTime, int aggregateIntervalInSeconds) {
            this.GetAggregateScalarDataSeriesInBatchAsync(dataHubURLs, publisherNames, sensorNames, startTime, endTime, aggregateIntervalInSeconds, null);
        }
        
        /// <remarks/>
        public void GetAggregateScalarDataSeriesInBatchAsync(string[] dataHubURLs, 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[] {
                        dataHubURLs,
                        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/>
        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://nec.research.microsoft.com/")]
    public partial class PointF {
        
        private double xField;
        
        private double yField;
        
        private double latField;
        
        private double lonField;
        
        /// <remarks/>
        public double x {
            get {
                return this.xField;
            }
            set {
                this.xField = value;
            }
        }
        
        /// <remarks/>
        public double y {
            get {
                return this.yField;
            }
            set {
                this.yField = value;
            }
        }
        
        /// <remarks/>
        public double lat {
            get {
                return this.latField;
            }
            set {
                this.latField = value;
            }
        }
        
        /// <remarks/>
        public double lon {
            get {
                return this.lonField;
            }
            set {
                this.lonField = 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.Xml", "2.0.50727.1433")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://nec.research.microsoft.com/")]
    public partial class SensorInfoAndDataList {
        
        private SensorInfo[] sensorsField;
        
        private SensorData[] dataField;
        
        /// <remarks/>
        public SensorInfo[] Sensors {
            get {
                return this.sensorsField;
            }
            set {
                this.sensorsField = value;
            }
        }
        
        /// <remarks/>
        public SensorData[] 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://nec.research.microsoft.com/")]
    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;
        
        private string originalPublisherNameField;
        
        /// <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/>
        public string originalPublisherName {
            get {
                return this.originalPublisherNameField;
            }
            set {
                this.originalPublisherNameField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetSensorsByPolygonQueryCompletedEventHandler(object sender, GetSensorsByPolygonQueryCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetSensorsByPolygonQueryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetSensorsByPolygonQueryCompletedEventArgs(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 GetDataByPolygonQueryCompletedEventHandler(object sender, GetDataByPolygonQueryCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDataByPolygonQueryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDataByPolygonQueryCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SensorInfoAndDataList Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SensorInfoAndDataList)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    public delegate void GetAggregateDataByPolygonQueryCompletedEventHandler(object sender, GetAggregateDataByPolygonQueryCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1433")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetAggregateDataByPolygonQueryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetAggregateDataByPolygonQueryCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public SensorInfoAndDataList Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((SensorInfoAndDataList)(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 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 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 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]));
            }
        }
    }
}

#pragma warning restore 1591