public static PropertyStates Load(IValueStream stream)
{
PropertyStates ret = null;
Tags tag = (Tags)stream.EnterChoice();
switch(tag)
{
case Tags.BooleanValue:
ret = Value<BooleanValueWrapper>.Load(stream);
break;
case Tags.BinaryValue:
ret = Value<BinaryValueWrapper>.Load(stream);
break;
case Tags.EventType:
ret = Value<EventTypeWrapper>.Load(stream);
break;
case Tags.Polarity:
ret = Value<PolarityWrapper>.Load(stream);
break;
case Tags.ProgramChange:
ret = Value<ProgramChangeWrapper>.Load(stream);
break;
case Tags.ProgramState:
ret = Value<ProgramStateWrapper>.Load(stream);
break;
case Tags.ReasonForHalt:
ret = Value<ReasonForHaltWrapper>.Load(stream);
break;
case Tags.Reliability:
ret = Value<ReliabilityWrapper>.Load(stream);
break;
case Tags.State:
ret = Value<StateWrapper>.Load(stream);
break;
case Tags.SystemStatus:
ret = Value<SystemStatusWrapper>.Load(stream);
break;
case Tags.Units:
ret = Value<UnitsWrapper>.Load(stream);
break;
case Tags.UnsignedValue:
ret = Value<UnsignedValueWrapper>.Load(stream);
break;
case Tags.LifeSafetyMode:
ret = Value<LifeSafetyModeWrapper>.Load(stream);
break;
case Tags.LifeSafetyState:
ret = Value<LifeSafetyStateWrapper>.Load(stream);
break;
default:
throw new Exception();
}
stream.LeaveChoice();
return ret;
}