Still don't know how to properly handle position
This commit is contained in:
parent
dd802fa789
commit
84b4798eaf
@ -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
|
||||
{
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -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; }
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user