//****************************************************************************************************** // IDataPointScanner.cs - Gbtc // // Copyright © 2014, 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: // ---------------------------------------------------------------------------------------------------- // 09/22/2014 - Stephen C. Wills // Generated original version of source code. // //****************************************************************************************************** using System; using System.Collections.Generic; namespace GSF.Historian.Files { /// /// Represents a scanner that reads data points from an archive file for a given time range. /// public interface IArchiveFileScanner { #region [ Properties ] /// /// Gets or sets the file allocation table of /// the file that this scanner is reading from. /// ArchiveFileAllocationTable FileAllocationTable { get; set; } /// /// Gets or sets the collection of /// point IDs to be scanned from the file. /// IEnumerable HistorianIDs { get; set; } /// /// Gets or sets the minimum value of the timestamps /// of the data points returned by the scanner. /// TimeTag StartTime { get; set; } /// /// Gets or sets the maximum value of the timestamps /// of the data points returned by the scanner. /// TimeTag EndTime { get; set; } /// /// Gets or sets the data point from which to resume /// the scan if it was interrupted by a rollover. /// IDataPoint ResumeFrom { get; set; } /// /// Gets or sets the handler used to handle /// errors that occur while scanning the file. /// EventHandler> DataReadExceptionHandler { get; set; } #endregion #region [ Methods ] /// /// Reads all s for the specified historian IDs. /// /// Each for the specified historian IDs. IEnumerable Read(); #endregion } }