using System; namespace CSVReader { public interface ICSVReader { /// /// Reads either the current or last entry based on and moves the pointer in that direction. /// /// /// The next in correct direction. /// /// Direction of read command. InputObject ReadNextEntry(bool forward); /// /// Moves the pointer to the entry that has the closest timestamp to . /// /// /// The timestamp that is assumed to be the closest to the input time. /// /// Time to move the pointer to. double JumpToEntry(double time, bool forward); /// /// Tests whether a timestamp is in bounds of the current file. /// /// /// A bool inidcationg if is in bounds of the file. /// /// Time to check. bool IsInBounds(double time); /// /// Finds the timestamp of the next file entry in direction. Does NOT move the pointer. /// /// /// The timestamp of the next entry. /// /// Direction to read. double Peek(bool forward); /// /// Finds the Timestamp of the last Element in the underlying file. /// /// /// The timestamp of the last entry. /// double GetLastTimestamp(); /// /// Finds the Timestamp of the first Element in the underlying file. /// /// /// The timestamp of the first entry. /// double GetFirstTimestamp(); /// ///Get the first timestamp in the timechunk /// /// ///Returns the first Timestamp in the timechunk. ///NaN if starttimestamp is not set. /// double GetChunkStarttimestamp(); /// ///Get the last timestamp in the timechunk /// /// ///Returns the last timestamp in the timechunk. ///NaN if endtimestamp is not set. /// double GetChunkEndtimestamp(); /// ///Set the first timestamp in the timechunk /// void SetChunkStarttimestamp(double time); /// ///Set the last timestamp in the timechunk /// void SetChunkEndtimestamp(double time); /// /// Closes the stream on the File. /// void TearDown(); } }