DeveelDB  20151217
complete SQL database system, primarly developed for .NET/Mono frameworks
Public Member Functions | Properties | Private Attributes | List of all members
Deveel.Data.Store.AreaStream Class Reference
Inheritance diagram for Deveel.Data.Store.AreaStream:

Public Member Functions

 AreaStream (IArea area)
 
override void Flush ()
 
override long Seek (long offset, SeekOrigin origin)
 
override void SetLength (long value)
 
override int Read (byte[] buffer, int offset, int count)
 
override void Write (byte[] buffer, int offset, int count)
 

Properties

override bool CanRead [get]
 
override bool CanSeek [get]
 
override bool CanWrite [get]
 
override long Length [get]
 
override long Position [get, set]
 

Private Attributes

readonly IArea area
 

Detailed Description

Definition at line 21 of file AreaStream.cs.

Constructor & Destructor Documentation

Deveel.Data.Store.AreaStream.AreaStream ( IArea  area)
inline

Definition at line 24 of file AreaStream.cs.

24  {
25  if (area == null)
26  throw new ArgumentNullException("area");
27 
28  this.area = area;
29  }

Member Function Documentation

override void Deveel.Data.Store.AreaStream.Flush ( )
inline

Definition at line 31 of file AreaStream.cs.

31  {
32  area.Flush();
33  }
override int Deveel.Data.Store.AreaStream.Read ( byte[]  buffer,
int  offset,
int  count 
)
inline

Definition at line 64 of file AreaStream.cs.

64  {
65  return area.Read(buffer, offset, count);
66  }
int Read(byte[] buffer, int offset, int length)
Reads an array of bytes from the underlying IArea and advances the position by length ...
override long Deveel.Data.Store.AreaStream.Seek ( long  offset,
SeekOrigin  origin 
)
inline

Definition at line 35 of file AreaStream.cs.

35  {
36  if (origin == SeekOrigin.Begin) {
37  if (offset >= Length)
38  throw new ArgumentOutOfRangeException("offset");
39 
40  area.Position = (int) offset;
41  } else if (origin == SeekOrigin.Current) {
42  var pos = area.Position;
43  var length = area.Length;
44  if (pos + offset >= length)
45  throw new ArgumentOutOfRangeException("offset");
46 
47  area.Position = pos + (int)offset;
48  } else {
49  var length = area.Length;
50  var newPos = length - offset;
51  if (newPos < 0)
52  throw new ArgumentOutOfRangeException("offset");
53 
54  area.Position = (int)newPos;
55  }
56 
57  return area.Position;
58  }
long Position
Returns or sets the current position of the pointer within the area.
Definition: IArea.cs:48
override void Deveel.Data.Store.AreaStream.SetLength ( long  value)
inline

Definition at line 60 of file AreaStream.cs.

60  {
61  throw new NotSupportedException();
62  }
override void Deveel.Data.Store.AreaStream.Write ( byte[]  buffer,
int  offset,
int  count 
)
inline

Definition at line 68 of file AreaStream.cs.

68  {
69  area.Write(buffer, offset, count);
70  }
void Write(byte[] buffer, int offset, int length)

Member Data Documentation

readonly IArea Deveel.Data.Store.AreaStream.area
private

Definition at line 22 of file AreaStream.cs.

Property Documentation

override bool Deveel.Data.Store.AreaStream.CanRead
get

Definition at line 72 of file AreaStream.cs.

override bool Deveel.Data.Store.AreaStream.CanSeek
get

Definition at line 76 of file AreaStream.cs.

override bool Deveel.Data.Store.AreaStream.CanWrite
get

Definition at line 80 of file AreaStream.cs.

override long Deveel.Data.Store.AreaStream.Length
get

Definition at line 84 of file AreaStream.cs.

override long Deveel.Data.Store.AreaStream.Position
getset

Definition at line 88 of file AreaStream.cs.


The documentation for this class was generated from the following file: