Still don't know how to properly handle position

This commit is contained in:
Michael Becker 2014-07-05 19:12:02 -04:00
parent dd802fa789
commit 84b4798eaf
4 changed files with 19 additions and 9 deletions

View File

@ -9,11 +9,9 @@ namespace UniversalEditor.Accessors
{
public class FileAccessor : Accessor
{
public override long Position
protected override long GetPosition()
{
get { return mvarFileStream.Position; }
set { mvarFileStream.Position = value;
}
return mvarFileStream.Position;
}
public override long Length
{

View File

@ -11,6 +11,10 @@ namespace UniversalEditor.Accessors
private byte[] _data = new byte[0];
private long ptr = 0;
protected override long GetPosition()
{
return ptr;
}
public override long Length
{
get { return _data.Length; }
@ -36,7 +40,7 @@ namespace UniversalEditor.Accessors
_data = data;
}
[DebuggerNonUserCode()]
// [DebuggerNonUserCode()]
public override void Seek(long length, SeekOrigin position)
{
long start = 0;

View File

@ -12,6 +12,10 @@ namespace UniversalEditor.Accessors
private System.IO.Stream mvarBaseStream = null;
public System.IO.Stream BaseStream { get { return mvarBaseStream; } }
protected override long GetPosition()
{
return mvarBaseStream.Position;
}
public StreamAccessor()
{
mvarBaseStream = new System.IO.MemoryStream();
@ -24,10 +28,10 @@ namespace UniversalEditor.Accessors
public override long Length
{
get { return mvarBaseStream.Length; }
set { throw new InvalidOperationException(); }
set { mvarBaseStream.SetLength(value); }
}
[DebuggerNonUserCode()]
// [DebuggerNonUserCode()]
public override void Seek(long offset, SeekOrigin position)
{
System.IO.SeekOrigin origin = System.IO.SeekOrigin.Begin;
@ -56,14 +60,14 @@ namespace UniversalEditor.Accessors
{
// TODO: will ct ever be != count? should we add ct to Position instead of count??
int ct = mvarBaseStream.Read(buffer, start, count);
Position += count;
// Position += count;
return count;
}
internal override int WriteInternal(byte[] buffer, int start, int count)
{
mvarBaseStream.Write(buffer, start, count);
Position += count;
// Position += count;
return count;
}

View File

@ -10,6 +10,10 @@ namespace UniversalEditor.Accessors
private char[] _data = new char[0];
private long ptr = 0;
protected override long GetPosition()
{
return ptr;
}
public override long Length
{
get { return _data.Length; }