Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
DigestStream.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 using System.IO;
4 
5 namespace SiliconStudio.Core.Storage
6 {
8  {
9  private ObjectIdBuilder builder = new ObjectIdBuilder();
10 
11  public override ObjectId CurrentHash
12  {
13  get
14  {
15  return builder.ComputeHash();
16  }
17  }
18 
19  public DigestStream(Stream stream) : base(stream, null)
20  {
21  }
22 
23  internal DigestStream(Stream stream, string temporaryName) : base(stream, temporaryName)
24  {
25  }
26 
27  public void Reset()
28  {
29  Position = 0;
30  builder.Reset();
31  }
32 
33  public override void WriteByte(byte value)
34  {
35  builder.WriteByte(value);
36  stream.WriteByte(value);
37  }
38 
39  public override void Write(byte[] buffer, int offset, int count)
40  {
41  builder.Write(buffer, offset, count);
42  stream.Write(buffer, offset, count);
43  }
44  }
45 }
override void WriteByte(byte value)
Definition: DigestStream.cs:33
override void Write(byte[] buffer, int offset, int count)
Definition: DigestStream.cs:39
_In_ size_t count
Definition: DirectXTexP.h:174
A hash to uniquely identify data.
Definition: ObjectId.cs:13