public LogMessageFilter(Stream stream) { byte version = stream.ReadNextByte(); switch (version) { case 1: FilterLevel = (FilterLevel)stream.ReadNextByte(); if (stream.ReadBoolean()) TimeFilter = new TimestampMatching(stream); if (stream.ReadBoolean()) Classification = new EnumMatchingFlags(stream); if (stream.ReadBoolean()) Level = new EnumMatchingFlags(stream); if (stream.ReadBoolean()) Flags = new EnumMatchingFlags(stream); if (stream.ReadBoolean()) Assembly = new StringMatching(stream); if (stream.ReadBoolean()) Type = new StringMatching(stream); if (stream.ReadBoolean()) RelatedType = new StringMatching(stream); if (stream.ReadBoolean()) StackDetails = new StackDetailsMatching(stream); if (stream.ReadBoolean()) StackTraceDetails = new StackTraceMatching(stream); if (stream.ReadBoolean()) EventName = new StringMatching(stream); if (stream.ReadBoolean()) MessageText = new StringMatching(stream); if (stream.ReadBoolean()) DetailsText = new StringMatching(stream); if (stream.ReadBoolean()) ExceptionText = new StringMatching(stream); break; default: throw new VersionNotFoundException(); } }
/// <summary> /// Loads the token from a stream /// </summary> /// <param name="stream">the stream to load from</param> public void Load(Stream stream) { byte version = stream.ReadNextByte(); switch (version) { case 1: CanWrite = stream.ReadBoolean(); CanRead = stream.ReadBoolean(); IsAdmin = stream.ReadBoolean(); break; default: throw new VersionNotFoundException("Could not interpret version"); } }