using System.Collections; using System.Collections.Generic; using CSVReader; namespace Processor { public interface IProcessor { /// /// Starts streaming on the CSV file or Networkstream. /// /// /// Returns a bool that indicates wether starting the stream was successful. /// /// Initial direction of the stream. bool StartStreaming(int samplerate = 4, bool foreward = true); /// /// Jump to a timestamp of the underlying stream. /// /// /// Returns a bool that indicates wether the jump was successful. /// /// The time to jump too. bool JumpToTimestamp(double timestamp, out double actualTimestamp); /// /// Reads or returns the next set of values. /// /// /// The values returned are all values buffered since the last read. /// /// /// Returns a list with the objects. /// List ReadNextValues(); /// /// Get the newest Timestamp. /// /// /// Returns the newest timestamp of the File. /// double GetNewestTimeStamp(); /// /// Get the oldest Timestamp. /// /// /// Returns the oldest timestamp of the File. /// double GetOldestTimeStamp(); /// ///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); /// /// Reverses the reading direction on the file. /// /// /// This call also clears the current buffer of any content. /// void ReverseTime(); /// /// Changes the samplerate of the Processor. /// void ChangeSamplerate(int newSamplerate); /// /// Stops the Streaming thread. /// /// /// This call resets the Processor. It has to be restarted with /// void StopStreaming(); } }