public static void Save(IValueSink sink, EventParameter value)
{
sink.EnterChoice((byte)value.Tag);
switch(value.Tag)
{
case Tags.ChangeOfBitstring:
Value<ChangeOfBitstring>.Save(sink, (ChangeOfBitstring)value);
break;
case Tags.ChangeOfState:
Value<ChangeOfState>.Save(sink, (ChangeOfState)value);
break;
case Tags.ChangeOfValue:
Value<ChangeOfValue>.Save(sink, (ChangeOfValue)value);
break;
case Tags.CommandFailure:
Value<CommandFailure>.Save(sink, (CommandFailure)value);
break;
case Tags.FloatingLimit:
Value<FloatingLimit>.Save(sink, (FloatingLimit)value);
break;
case Tags.OutOfRange:
Value<OutOfRange>.Save(sink, (OutOfRange)value);
break;
case Tags.ChangeOfLifeSafety:
Value<ChangeOfLifeSafety>.Save(sink, (ChangeOfLifeSafety)value);
break;
case Tags.Extended:
Value<Extended>.Save(sink, (Extended)value);
break;
case Tags.BufferReady:
Value<BufferReady>.Save(sink, (BufferReady)value);
break;
case Tags.UnsignedRange:
Value<UnsignedRange>.Save(sink, (UnsignedRange)value);
break;
default:
throw new Exception();
}
sink.LeaveChoice();
}