//******************************************************************************************************
// IOutOfRangeService.cs - Gbtc
//
// Copyright © 2012, Grid Protection Alliance. All Rights Reserved.
//
// Licensed to the Grid Protection Alliance (GPA) under one or more contributor license agreements. See
// the NOTICE file distributed with this work for additional information regarding copyright ownership.
// The GPA licenses this file to you under the MIT License (MIT), the "License"; you may
// not use this file except in compliance with the License. You may obtain a copy of the License at:
//
// http://www.opensource.org/licenses/MIT
//
// Unless agreed to in writing, the subject software distributed under the License is distributed on an
// "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. Refer to the
// License for the specific language governing permissions and limitations.
//
// Code Modification History:
// ----------------------------------------------------------------------------------------------------
// 12/16/2009 - Stephen C. Wills
// Generated original version of source code.
// 12/13/2012 - Starlynn Danyelle Gilliam
// Modified Header.
//
//******************************************************************************************************
using System.Collections.Generic;
using System.ServiceModel;
using System.ServiceModel.Web;
namespace DataQualityMonitoring.Services
{
///
/// Defines a REST web service for out-of-range measurements.
///
[ServiceContract]
public interface IOutOfRangeService
{
#region [ Properties ]
///
/// Gets or collection of s used by the web service for its data.
///
ICollection Tests { get; }
#endregion
#region [ Methods ]
///
/// Reads all out-of-range measurements from the and sends it in format.
///
/// A object.
[OperationContract,
WebGet(ResponseFormat = WebMessageFormat.Xml, UriTemplate = "/outofrangemeasurements/read/xml")]
SerializableRangeTestCollection ReadAllOutOfRangeMeasurementsAsXml();
///
/// Reads all out-of-range measurements from the and sends it in format.
///
/// A object.
[OperationContract,
WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = "/outofrangemeasurements/read/json")]
SerializableRangeTestCollection ReadAllOutOfRangeMeasurementsAsJson();
///
/// Reads all out-of-range measurements with the specified signal type and sends it in format.
///
/// The signal type of the desired out-of-range measurements.
/// A object.
[OperationContract,
WebGet(ResponseFormat = WebMessageFormat.Xml, UriTemplate = "/outofrangemeasurements/read/signaltype:{signalType}/xml")]
SerializableRangeTestCollection ReadOutOfRangeMeasurementsWithSignalTypeAsXml(string signalType);
///
/// Reads all out-of-range measurements with the specified signal type and sends it in format.
///
/// The signal type of the desired out-of-range measurements.
/// A object.
[OperationContract,
WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = "/outofrangemeasurements/read/signaltype:{signalType}/json")]
SerializableRangeTestCollection ReadOutOfRangeMeasurementsWithSignalTypeAsJson(string signalType);
///
/// Reads all out-of-range measurements from the specified device and sends it in format.
///
/// The name of the device to check for out-of-range measurements.
/// A object.
[OperationContract,
WebGet(ResponseFormat = WebMessageFormat.Xml, UriTemplate = "/outofrangemeasurements/read/device:{device}/xml")]
SerializableRangeTestCollection ReadOutOfRangeMeasurementsFromDeviceAsXml(string device);
///
/// Reads all out-of-range measurements from the specified device and sends it in format.
///
/// The name of the device to check for out-of-range measurements.
/// A object.
[OperationContract,
WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = "/outofrangemeasurements/read/device:{device}/json")]
SerializableRangeTestCollection ReadOutOfRangeMeasurementsFromDeviceAsJson(string device);
///
/// Reads all out-of-range measurements from the specified and sends it in format.
///
/// The name of the to check for out-of-range measurements.
/// A object.
[OperationContract,
WebGet(ResponseFormat = WebMessageFormat.Xml, UriTemplate = "/outofrangemeasurements/read/test:{test}/xml")]
SerializableRangeTestCollection ReadOutOfRangeMeasurementsFromTestAsXml(string test);
///
/// Reads all out-of-range measurements from the specified and sends it in format.
///
/// The name of the to check for out-of-range measurements.
/// A object.
[OperationContract,
WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = "/outofrangemeasurements/read/test:{test}/json")]
SerializableRangeTestCollection ReadOutOfRangeMeasurementsFromTestAsJson(string test);
#endregion
}
}