예제 #1
0
            public static void Save(IValueSink sink, LogDatumType value)
            {
                sink.EnterChoice((byte)value.Tag);
                switch (value.Tag)
                {
                case Tags.LogStatus:
                    Value <LogStatusWrapper> .Save(sink, (LogStatusWrapper)value);

                    break;

                case Tags.BooleanValue:
                    Value <BooleanValueWrapper> .Save(sink, (BooleanValueWrapper)value);

                    break;

                case Tags.RealValue:
                    Value <RealValueWrapper> .Save(sink, (RealValueWrapper)value);

                    break;

                case Tags.EnumValue:
                    Value <EnumValueWrapper> .Save(sink, (EnumValueWrapper)value);

                    break;

                case Tags.UnsignedValue:
                    Value <UnsignedValueWrapper> .Save(sink, (UnsignedValueWrapper)value);

                    break;

                case Tags.SignedValue:
                    Value <SignedValueWrapper> .Save(sink, (SignedValueWrapper)value);

                    break;

                case Tags.BitstringValue:
                    Value <BitstringValueWrapper> .Save(sink, (BitstringValueWrapper)value);

                    break;

                case Tags.NullValue:
                    Value <NullValueWrapper> .Save(sink, (NullValueWrapper)value);

                    break;

                case Tags.Failure:
                    Value <FailureWrapper> .Save(sink, (FailureWrapper)value);

                    break;

                case Tags.TimeChange:
                    Value <TimeChangeWrapper> .Save(sink, (TimeChangeWrapper)value);

                    break;

                case Tags.AnyValue:
                    Value <AnyValueWrapper> .Save(sink, (AnyValueWrapper)value);

                    break;

                default:
                    throw new Exception();
                }
                sink.LeaveChoice();
            }
예제 #2
0
            public static LogDatumType Load(IValueStream stream)
            {
                LogDatumType ret = null;
                Tags         tag = (Tags)stream.EnterChoice();

                switch (tag)
                {
                case Tags.LogStatus:
                    ret = Value <LogStatusWrapper> .Load(stream);

                    break;

                case Tags.BooleanValue:
                    ret = Value <BooleanValueWrapper> .Load(stream);

                    break;

                case Tags.RealValue:
                    ret = Value <RealValueWrapper> .Load(stream);

                    break;

                case Tags.EnumValue:
                    ret = Value <EnumValueWrapper> .Load(stream);

                    break;

                case Tags.UnsignedValue:
                    ret = Value <UnsignedValueWrapper> .Load(stream);

                    break;

                case Tags.SignedValue:
                    ret = Value <SignedValueWrapper> .Load(stream);

                    break;

                case Tags.BitstringValue:
                    ret = Value <BitstringValueWrapper> .Load(stream);

                    break;

                case Tags.NullValue:
                    ret = Value <NullValueWrapper> .Load(stream);

                    break;

                case Tags.Failure:
                    ret = Value <FailureWrapper> .Load(stream);

                    break;

                case Tags.TimeChange:
                    ret = Value <TimeChangeWrapper> .Load(stream);

                    break;

                case Tags.AnyValue:
                    ret = Value <AnyValueWrapper> .Load(stream);

                    break;

                default:
                    throw new Exception();
                }
                stream.LeaveChoice();
                return(ret);
            }
예제 #3
0
 public static void Save(IValueSink sink, LogDatumType value)
 {
     sink.EnterChoice((byte)value.Tag);
     switch(value.Tag)
     {
         case Tags.LogStatus:
             Value<LogStatusWrapper>.Save(sink, (LogStatusWrapper)value);
             break;
         case Tags.BooleanValue:
             Value<BooleanValueWrapper>.Save(sink, (BooleanValueWrapper)value);
             break;
         case Tags.RealValue:
             Value<RealValueWrapper>.Save(sink, (RealValueWrapper)value);
             break;
         case Tags.EnumValue:
             Value<EnumValueWrapper>.Save(sink, (EnumValueWrapper)value);
             break;
         case Tags.UnsignedValue:
             Value<UnsignedValueWrapper>.Save(sink, (UnsignedValueWrapper)value);
             break;
         case Tags.SignedValue:
             Value<SignedValueWrapper>.Save(sink, (SignedValueWrapper)value);
             break;
         case Tags.BitstringValue:
             Value<BitstringValueWrapper>.Save(sink, (BitstringValueWrapper)value);
             break;
         case Tags.NullValue:
             Value<NullValueWrapper>.Save(sink, (NullValueWrapper)value);
             break;
         case Tags.Failure:
             Value<FailureWrapper>.Save(sink, (FailureWrapper)value);
             break;
         case Tags.TimeChange:
             Value<TimeChangeWrapper>.Save(sink, (TimeChangeWrapper)value);
             break;
         case Tags.AnyValue:
             Value<AnyValueWrapper>.Save(sink, (AnyValueWrapper)value);
             break;
         default:
             throw new Exception();
     }
     sink.LeaveChoice();
 }
예제 #4
0
 public LogRecord(DateAndTime timestamp, LogDatumType logDatum, Option <StatusFlags> statusFlags)
 {
     this.Timestamp   = timestamp;
     this.LogDatum    = logDatum;
     this.StatusFlags = statusFlags;
 }
예제 #5
0
 public LogRecord(DateAndTime timestamp, LogDatumType logDatum, Option<StatusFlags> statusFlags)
 {
     this.Timestamp = timestamp;
     this.LogDatum = logDatum;
     this.StatusFlags = statusFlags;
 }