using System; using System.Collections.Generic; using System.Net; namespace ZeroLevel.Services.Serialization { public interface IBinaryReader : IDisposable { bool ReadBoolean(); byte ReadByte(); byte[] ReadBytes(); Double ReadDouble(); Int32 ReadInt32(); Int64 ReadLong(); string ReadString(); Guid ReadGuid(); DateTime? ReadDateTime(); decimal ReadDecimal(); TimeSpan ReadTimeSpan(); IPAddress ReadIP(); IPEndPoint ReadIPEndpoint(); #region Extensions T Read() where T : IBinarySerializable; T ReadCompatible(); List ReadCollection() where T : IBinarySerializable, new(); List ReadStringCollection(); List ReadGuidCollection(); List ReadDateTimeCollection(); List ReadInt64Collection(); List ReadInt32Collection(); List ReadDoubleCollection(); List ReadBooleanCollection(); List ReadByteCollection(); List ReadByteArrayCollection(); List ReadIPCollection(); List ReadIPEndPointCollection(); #endregion Extensions } }