From fe8cd0fc4e716b1bef4aff1fc4ff7b6b5180474b Mon Sep 17 00:00:00 2001 From: Alexey 'Cluster' Avdyukhin Date: Wed, 27 Sep 2017 04:12:54 +0300 Subject: NAND dump features, some rework, new language --- TrackableFileStream.cs | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 TrackableFileStream.cs (limited to 'TrackableFileStream.cs') diff --git a/TrackableFileStream.cs b/TrackableFileStream.cs new file mode 100644 index 00000000..3ff953dd --- /dev/null +++ b/TrackableFileStream.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; + +namespace com.clusterrr.util +{ + public class TrackableFileStream : FileStream + { + public delegate void OnProgressDelegate(long Position, long Length); + public event OnProgressDelegate OnProgress = delegate { }; + + public TrackableFileStream(string path, FileMode mode) : base(path, mode) { } + + public override void Write(byte[] array, int offset, int count) + { + base.Write(array, offset, count); + OnProgress(this.Position, this.Length); + } + public override void WriteByte(byte value) + { + base.WriteByte(value); + OnProgress(this.Position, this.Length); + } + public override int Read(byte[] array, int offset, int count) + { + var r = base.Read(array, offset, count); + OnProgress(this.Position, this.Length); + return r; + } + public override int ReadByte() + { + var r = base.ReadByte(); + OnProgress(this.Position, this.Length); + return r; + } + } +} -- cgit v1.2.3