123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- using System;
- using System.IO;
- using System.Text;
- namespace fis.Vid
- {
- public class VinnoStreamWriter
- {
- private readonly Stream _stream;
- public VinnoStreamWriter(Stream stream)
- {
- _stream = stream;
- }
- /// <summary>
- /// Write a string to stream.
- /// </summary>
- /// <param name="value"></param>
- public void WriteString(string value)
- {
- var data = Encoding.Unicode.GetBytes(value);
- WriteInt(data.Length);
- _stream.Write(data, 0, data.Length);
- }
- /// <summary>
- /// Write a int32 value to stream.
- /// </summary>
- /// <param name="value"></param>
- public void WriteInt(int value)
- {
- _stream.Write(BitConverter.GetBytes(value), 0, sizeof(int));
- }
- /// <summary>
- /// Write a short value to stream.
- /// </summary>
- /// <param name="value"></param>
- public void WriteShort(short value)
- {
- _stream.Write(BitConverter.GetBytes(value), 0, sizeof(short));
- }
- /// <summary>
- /// Write a int64 value to stream.
- /// </summary>
- /// <param name="value"></param>
- public void WriteLong(long value)
- {
- _stream.Write(BitConverter.GetBytes(value), 0, sizeof(long));
- }
- /// <summary>
- /// Write a float value to stream.
- /// </summary>
- /// <param name="value"></param>
- public void WriteFloat(float value)
- {
- _stream.Write(BitConverter.GetBytes(value), 0, sizeof(float));
- }
- /// <summary>
- /// Write a double value to stream.
- /// </summary>
- /// <param name="value"></param>
- public void WriteDouble(double value)
- {
- _stream.Write(BitConverter.GetBytes(value), 0, sizeof(double));
- }
- /// <summary>
- /// Write a bool value to stream.
- /// </summary>
- /// <param name="value"></param>
- public void WriteBool(bool value)
- {
- _stream.Write(BitConverter.GetBytes(value), 0, sizeof(bool));
- }
- /// <summary>
- /// Write a byte value to stream.
- /// </summary>
- /// <param name="value"></param>
- public void WriteByte(byte value)
- {
- _stream.WriteByte(value);
- }
- /// <summary>
- /// Write a array in to stream.
- /// </summary>
- public void WriteBytes(byte[] value)
- {
- WriteInt(value.Length);
- _stream.Write(value, 0, value.Length);
- }
- /// <summary>
- /// Write long array into stream.
- /// </summary>
- /// <param name="value"></param>
- public void WriteLongs(long[] value)
- {
- var data = new byte[value.Length * sizeof(long)];
- Buffer.BlockCopy(value, 0, data, 0, data.Length);
- WriteBytes(data);
- }
- }
- }
|