public static void Save(IValueSink sink, DeleteObjectRequest value)
        {
            sink.EnterSequence();
            Value <ObjectId> .Save(sink, value.ObjectIdentifier);

            sink.LeaveSequence();
        }
 public static void Save(IValueSink sink, WritePropertyMultipleError value)
 {
     sink.EnterSequence();
     Value<Error>.Save(sink, value.ErrorType);
     Value<ObjectPropertyReference>.Save(sink, value.FirstFailedWriteAttempt);
     sink.LeaveSequence();
 }
Beispiel #3
0
            public static void Save(IValueSink sink, RangeType value)
            {
                sink.EnterChoice((byte)value.Tag);
                switch (value.Tag)
                {
                case Tags.ByPosition:
                    Value <ByPosition> .Save(sink, (ByPosition)value);

                    break;

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

                    break;

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

                    break;

                default:
                    throw new Exception();
                }
                sink.LeaveChoice();
            }
 public static void Save(IValueSink sink, DeviceObjectReference value)
 {
     sink.EnterSequence();
     Value<Option<ObjectId>>.Save(sink, value.DeviceIdentifier);
     Value<ObjectId>.Save(sink, value.ObjectIdentifier);
     sink.LeaveSequence();
 }
        public static void Save(IValueSink sink, UnconfirmedServiceRequest value)
        {
            sink.EnterChoice((byte)value.Tag);
            switch (value.Tag)
            {
            case Tags.IAm:
                Value <IAmWrapper> .Save(sink, (IAmWrapper)value);

                break;

            case Tags.IHave:
                Value <IHaveWrapper> .Save(sink, (IHaveWrapper)value);

                break;

            case Tags.UnconfirmedCOVNotification:
                Value <UnconfirmedCOVNotificationWrapper> .Save(sink, (UnconfirmedCOVNotificationWrapper)value);

                break;

            case Tags.UnconfirmedEventNotification:
                Value <UnconfirmedEventNotificationWrapper> .Save(sink, (UnconfirmedEventNotificationWrapper)value);

                break;

            case Tags.UnconfirmedPrivateTransfer:
                Value <UnconfirmedPrivateTransferWrapper> .Save(sink, (UnconfirmedPrivateTransferWrapper)value);

                break;

            case Tags.UnconfirmedTextMessage:
                Value <UnconfirmedTextMessageWrapper> .Save(sink, (UnconfirmedTextMessageWrapper)value);

                break;

            case Tags.TimeSynchronization:
                Value <TimeSynchronizationWrapper> .Save(sink, (TimeSynchronizationWrapper)value);

                break;

            case Tags.WhoHas:
                Value <WhoHasWrapper> .Save(sink, (WhoHasWrapper)value);

                break;

            case Tags.WhoIs:
                Value <WhoIsWrapper> .Save(sink, (WhoIsWrapper)value);

                break;

            case Tags.UtcTimeSynchronization:
                Value <UtcTimeSynchronizationWrapper> .Save(sink, (UtcTimeSynchronizationWrapper)value);

                break;

            default:
                throw new Exception();
            }
            sink.LeaveChoice();
        }
Beispiel #6
0
 public static void Save(IValueSink sink, CreateObjectError value)
 {
     sink.EnterSequence();
     Value<Error>.Save(sink, value.ErrorType);
     Value<uint>.Save(sink, value.FirstFailedElementNumber);
     sink.LeaveSequence();
 }
Beispiel #7
0
 public static void Save(IValueSink sink, VTDataAck value)
 {
     sink.EnterSequence();
     Value<bool>.Save(sink, value.AllNewDataAccepted);
     Value<Option<uint>>.Save(sink, value.AcceptedOctetCount);
     sink.LeaveSequence();
 }
Beispiel #8
0
        public static void Save(IValueSink sink, ActionList value)
        {
            sink.EnterSequence();
            Value <ReadOnlyArray <ActionCommand> > .Save(sink, value.Action);

            sink.LeaveSequence();
        }
Beispiel #9
0
        public static void Save(IValueSink sink, DailySchedule value)
        {
            sink.EnterSequence();
            Value <ReadOnlyArray <TimeValue> > .Save(sink, value.DaySchedule);

            sink.LeaveSequence();
        }
Beispiel #10
0
 public static void Save(IValueSink sink, WhoHasRequest value)
 {
     sink.EnterSequence();
     Value<Option<LimitsType>>.Save(sink, value.Limits);
     Value<ObjectType>.Save(sink, value.Object);
     sink.LeaveSequence();
 }
Beispiel #11
0
        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();
        }
 public static void Save(IValueSink sink, ReadPropertyConditionalRequest value)
 {
     sink.EnterSequence();
     Value<ObjectSelectionCriteriaType>.Save(sink, value.ObjectSelectionCriteria);
     Value<Option<ReadOnlyArray<PropertyReference>>>.Save(sink, value.ListOfPropertyReferences);
     sink.LeaveSequence();
 }
 public static void Save(IValueSink sink, AtomicReadFileRequest value)
 {
     sink.EnterSequence();
     Value<ObjectId>.Save(sink, value.FileIdentifier);
     Value<AccessMethodType>.Save(sink, value.AccessMethod);
     sink.LeaveSequence();
 }
Beispiel #14
0
 public static void Save(IValueSink sink, ReadAccessResult value)
 {
     sink.EnterSequence();
     Value<ObjectId>.Save(sink, value.ObjectIdentifier);
     Value<Option<ReadOnlyArray<ListOfResultsType>>>.Save(sink, value.ListOfResults);
     sink.LeaveSequence();
 }
Beispiel #15
0
        public static void Save(IValueSink sink, TimeStamp value)
        {
            sink.EnterChoice((byte)value.Tag);
            switch (value.Tag)
            {
            case Tags.Time:
                Value <TimeWrapper> .Save(sink, (TimeWrapper)value);

                break;

            case Tags.SequenceNumber:
                Value <SequenceNumberWrapper> .Save(sink, (SequenceNumberWrapper)value);

                break;

            case Tags.DateTime:
                Value <DateTimeWrapper> .Save(sink, (DateTimeWrapper)value);

                break;

            default:
                throw new Exception();
            }
            sink.LeaveChoice();
        }
 public static void Save(IValueSink sink, ReadAccessSpecification value)
 {
     sink.EnterSequence();
     Value<ObjectId>.Save(sink, value.ObjectIdentifier);
     Value<ReadOnlyArray<PropertyReference>>.Save(sink, value.ListOfPropertyReferences);
     sink.LeaveSequence();
 }
Beispiel #17
0
        public static void Save(IValueSink sink, VTOpenAck value)
        {
            sink.EnterSequence();
            Value <byte> .Save(sink, value.RemoteVTSessionIdentifier);

            sink.LeaveSequence();
        }
Beispiel #18
0
 public static void Save(IValueSink sink, Prescale value)
 {
     sink.EnterSequence();
     Value<uint>.Save(sink, value.Multiplier);
     Value<uint>.Save(sink, value.ModuloDivide);
     sink.LeaveSequence();
 }
Beispiel #19
0
 public static void Save(IValueSink sink, TimeValue value)
 {
     sink.EnterSequence();
     Value<Time>.Save(sink, value.Time);
     Value<GenericValue>.Save(sink, value.Value);
     sink.LeaveSequence();
 }
Beispiel #20
0
 public static void Save(IValueSink sink, DateAndTime value)
 {
     sink.EnterSequence();
     Value<Date>.Save(sink, value.Date);
     Value<Time>.Save(sink, value.Time);
     sink.LeaveSequence();
 }
Beispiel #21
0
        public static void Save(IValueSink sink, ReadPropertyMultipleAck value)
        {
            sink.EnterSequence();
            Value <ReadOnlyArray <ReadAccessResult> > .Save(sink, value.ListOfReadAccessResults);

            sink.LeaveSequence();
        }
Beispiel #22
0
 public static void Save(IValueSink sink, WhoIsRequest value)
 {
     sink.EnterSequence();
     Value<Option<uint>>.Save(sink, value.DeviceInstanceRangeLowLimit);
     Value<Option<uint>>.Save(sink, value.DeviceInstanceRangeHighLimit);
     sink.LeaveSequence();
 }
        public static void Save(IValueSink sink, UTCTimeSynchronizationRequest value)
        {
            sink.EnterSequence();
            Value <DateAndTime> .Save(sink, value.Time);

            sink.LeaveSequence();
        }
Beispiel #24
0
        public static void Save(IValueSink sink, PriorityValue value)
        {
            sink.EnterChoice((byte)value.Tag);
            switch (value.Tag)
            {
            case Tags.Null:
                Value <NullWrapper> .Save(sink, (NullWrapper)value);

                break;

            case Tags.Real:
                Value <RealWrapper> .Save(sink, (RealWrapper)value);

                break;

            case Tags.Binary:
                Value <BinaryWrapper> .Save(sink, (BinaryWrapper)value);

                break;

            case Tags.Integer:
                Value <IntegerWrapper> .Save(sink, (IntegerWrapper)value);

                break;

            case Tags.ConstructedValue:
                Value <ConstructedValueWrapper> .Save(sink, (ConstructedValueWrapper)value);

                break;

            default:
                throw new Exception();
            }
            sink.LeaveChoice();
        }
Beispiel #25
0
        public static void Save(IValueSink sink, CalendarEntry value)
        {
            sink.EnterChoice((byte)value.Tag);
            switch (value.Tag)
            {
            case Tags.Date:
                Value <DateWrapper> .Save(sink, (DateWrapper)value);

                break;

            case Tags.DateRange:
                Value <DateRangeWrapper> .Save(sink, (DateRangeWrapper)value);

                break;

            case Tags.WeekNDay:
                Value <WeekNDayWrapper> .Save(sink, (WeekNDayWrapper)value);

                break;

            default:
                throw new Exception();
            }
            sink.LeaveChoice();
        }
Beispiel #26
0
 public static void Save(IValueSink sink, CreateObjectRequest value)
 {
     sink.EnterSequence();
     Value<ObjectSpecifierType>.Save(sink, value.ObjectSpecifier);
     Value<Option<ReadOnlyArray<PropertyValue>>>.Save(sink, value.ListOfInitialValues);
     sink.LeaveSequence();
 }
Beispiel #27
0
 public static void Save(IValueSink sink, VTOpenRequest value)
 {
     sink.EnterSequence();
     Value<VTClass>.Save(sink, value.VtClass);
     Value<byte>.Save(sink, value.LocalVTSessionIdentifier);
     sink.LeaveSequence();
 }
Beispiel #28
0
        public static void Save(IValueSink sink, AuthenticateAck value)
        {
            sink.EnterSequence();
            Value <uint> .Save(sink, value.ModifiedRandomNumber);

            sink.LeaveSequence();
        }
Beispiel #29
0
        public static void Save(IValueSink sink, VTCloseRequest value)
        {
            sink.EnterSequence();
            Value <ReadOnlyArray <byte> > .Save(sink, value.ListOfRemoteVTSessionIdentifiers);

            sink.LeaveSequence();
        }
Beispiel #30
0
        public PriorityValue(
            IAvaloniaObject owner,
            StyledPropertyBase <T> property,
            IValueSink sink,
            IPriorityValueEntry <T> existing)
            : this(owner, property, sink)
        {
            existing.Reparent(this);
            _entries.Add(existing);

            if (existing is IBindingEntry binding &&
                existing.Priority == BindingPriority.LocalValue)
            {
                // Bit of a special case here: if we have a local value binding that is being
                // promoted to a priority value we need to make sure the binding is subscribed
                // even if we've got a batch operation in progress because otherwise we don't know
                // whether the binding or a subsequent SetValue with local priority will win. A
                // notification won't be sent during batch update anyway because it will be
                // caught and stored for later by the ValueStore.
                binding.Start(ignoreBatchUpdate: true);
            }

            var v = existing.GetValue();

            if (v.HasValue)
            {
                _value   = v;
                Priority = existing.Priority;
            }
        }
Beispiel #31
0
        public static void Save(IValueSink sink, ConfirmedEventNotificationRequest value)
        {
            sink.EnterSequence();
            Value <uint> .Save(sink, value.ProcessIdentifier);

            Value <ObjectId> .Save(sink, value.InitiatingDeviceIdentifier);

            Value <ObjectId> .Save(sink, value.EventObjectIdentifier);

            Value <TimeStamp> .Save(sink, value.TimeStamp);

            Value <uint> .Save(sink, value.NotificationClass);

            Value <byte> .Save(sink, value.Priority);

            Value <EventType> .Save(sink, value.EventType);

            Value <Option <string> > .Save(sink, value.MessageText);

            Value <NotifyType> .Save(sink, value.NotifyType);

            Value <Option <bool> > .Save(sink, value.AckRequired);

            Value <Option <EventState> > .Save(sink, value.FromState);

            Value <EventState> .Save(sink, value.ToState);

            Value <Option <NotificationParameters> > .Save(sink, value.EventValues);

            sink.LeaveSequence();
        }
 public static void Save(IValueSink sink, ReinitializeDeviceRequest value)
 {
     sink.EnterSequence();
     Value<ReinitializedStateOfDeviceType>.Save(sink, value.ReinitializedStateOfDevice);
     Value<Option<string>>.Save(sink, value.Password);
     sink.LeaveSequence();
 }
Beispiel #33
0
 public static void Save(IValueSink sink, RecipientProcess value)
 {
     sink.EnterSequence();
     Value<Recipient>.Save(sink, value.Recipient);
     Value<uint>.Save(sink, value.ProcessIdentifier);
     sink.LeaveSequence();
 }
Beispiel #34
0
 public static void Save(IValueSink sink, AddressBinding value)
 {
     sink.EnterSequence();
     Value<ObjectId>.Save(sink, value.DeviceObjectIdentifier);
     Value<NetworkAddress>.Save(sink, value.DeviceAddress);
     sink.LeaveSequence();
 }
Beispiel #35
0
 public static void Save(IValueSink sink, NetworkAddress value)
 {
     sink.EnterSequence();
     Value<ushort>.Save(sink, value.NetworkNumber);
     Value<byte[]>.Save(sink, value.MacAddress);
     sink.LeaveSequence();
 }
Beispiel #36
0
 public static void Save(IValueSink sink, PropertyReference value)
 {
     sink.EnterSequence();
     Value<PropertyIdentifier>.Save(sink, value.PropertyIdentifier);
     Value<Option<uint>>.Save(sink, value.PropertyArrayIndex);
     sink.LeaveSequence();
 }
Beispiel #37
0
 public static void Save(IValueSink sink, AtomicReadFileAck value)
 {
     sink.EnterSequence();
     Value<bool>.Save(sink, value.EndOfFile);
     Value<AccessMethodType>.Save(sink, value.AccessMethod);
     sink.LeaveSequence();
 }
 public static void Save(IValueSink sink, GetEventInformationAck value)
 {
     sink.EnterSequence();
     Value<ReadOnlyArray<ListOfEventSummariesType>>.Save(sink, value.ListOfEventSummaries);
     Value<bool>.Save(sink, value.MoreEvents);
     sink.LeaveSequence();
 }
Beispiel #39
0
 public static void Save(IValueSink sink, VTCloseError value)
 {
     sink.EnterSequence();
     Value<Error>.Save(sink, value.ErrorType);
     Value<Option<ReadOnlyArray<byte>>>.Save(sink, value.ListOfVTSessionIdentifiers);
     sink.LeaveSequence();
 }
        public static void Save(IValueSink sink, GetEventInformationRequest value)
        {
            sink.EnterSequence();
            Value <Option <ObjectId> > .Save(sink, value.LastReceivedObjectIdentifier);

            sink.LeaveSequence();
        }
Beispiel #41
0
        public static void Save(IValueSink sink, SetpointReference value)
        {
            sink.EnterSequence();
            Value <Option <ObjectPropertyReference> > .Save(sink, value.Reference);

            sink.LeaveSequence();
        }
Beispiel #42
0
 public static void Save(IValueSink sink, SessionKey value)
 {
     sink.EnterSequence();
     Value<byte[]>.Save(sink, value.Key);
     Value<NetworkAddress>.Save(sink, value.PeerAddress);
     sink.LeaveSequence();
 }
        public static void Save(IValueSink sink, WritePropertyMultipleRequest value)
        {
            sink.EnterSequence();
            Value <ReadOnlyArray <WriteAccessSpecification> > .Save(sink, value.ListOfwriteAccessSpecifications);

            sink.LeaveSequence();
        }
Beispiel #44
0
 public static void Save(IValueSink sink, LogRecord value)
 {
     sink.EnterSequence();
     Value<DateAndTime>.Save(sink, value.Timestamp);
     Value<LogDatumType>.Save(sink, value.LogDatum);
     Value<Option<StatusFlags>>.Save(sink, value.StatusFlags);
     sink.LeaveSequence();
 }
Beispiel #45
0
 public static void Save(IValueSink sink, SpecialEvent value)
 {
     sink.EnterSequence();
     Value<PeriodType>.Save(sink, value.Period);
     Value<ReadOnlyArray<TimeValue>>.Save(sink, value.ListOfTimeValues);
     Value<uint>.Save(sink, value.EventPriority);
     sink.LeaveSequence();
 }
Beispiel #46
0
 public static void Save(IValueSink sink, VTDataRequest value)
 {
     sink.EnterSequence();
     Value<byte>.Save(sink, value.VtSessionIdentifier);
     Value<byte[]>.Save(sink, value.VtNewData);
     Value<uint>.Save(sink, value.VtDataFlag);
     sink.LeaveSequence();
 }
 public static void Save(IValueSink sink, DeviceCommunicationControlRequest value)
 {
     sink.EnterSequence();
     Value<Option<ushort>>.Save(sink, value.TimeDuration);
     Value<EnableDisableType>.Save(sink, value.EnableDisable);
     Value<Option<string>>.Save(sink, value.Password);
     sink.LeaveSequence();
 }
Beispiel #48
0
 public static void Save(IValueSink sink, IHaveRequest value)
 {
     sink.EnterSequence();
     Value<ObjectId>.Save(sink, value.DeviceIdentifier);
     Value<ObjectId>.Save(sink, value.ObjectIdentifier);
     Value<string>.Save(sink, value.ObjectName);
     sink.LeaveSequence();
 }
Beispiel #49
0
 /// <summary>
 /// Saves an option value to a sink
 /// </summary>
 /// <param name="sink">The sink to save to</param>
 /// <param name="option">The option to save</param>
 public static void Save(IValueSink sink, Option <T> option)
 {
     sink.EnterOption(option.HasValue);
     if (option.HasValue)
     {
         Value <T> .Save(sink, option.Value);
     }
 }
Beispiel #50
0
 public static void Save(IValueSink sink, VTSession value)
 {
     sink.EnterSequence();
     Value<byte>.Save(sink, value.LocalVtSessionID);
     Value<byte>.Save(sink, value.RemoteVtSessionID);
     Value<NetworkAddress>.Save(sink, value.RemoteVtAddress);
     sink.LeaveSequence();
 }
Beispiel #51
0
        public static void Save(IValueSink sink, VTCloseError value)
        {
            sink.EnterSequence();
            Value <Error> .Save(sink, value.ErrorType);

            Value <Option <ReadOnlyArray <byte> > > .Save(sink, value.ListOfVTSessionIdentifiers);

            sink.LeaveSequence();
        }
Beispiel #52
0
        public static void Save(IValueSink sink, WhoIsRequest value)
        {
            sink.EnterSequence();
            Value <Option <uint> > .Save(sink, value.DeviceInstanceRangeLowLimit);

            Value <Option <uint> > .Save(sink, value.DeviceInstanceRangeHighLimit);

            sink.LeaveSequence();
        }
Beispiel #53
0
            public static void Save(IValueSink sink, BufferReady value)
            {
                sink.EnterSequence();
                Value <uint> .Save(sink, value.NotificationThreshold);

                Value <uint> .Save(sink, value.PreviousNotificationCount);

                sink.LeaveSequence();
            }
Beispiel #54
0
        public static void Save(IValueSink sink, AddressBinding value)
        {
            sink.EnterSequence();
            Value <ObjectId> .Save(sink, value.DeviceObjectIdentifier);

            Value <NetworkAddress> .Save(sink, value.DeviceAddress);

            sink.LeaveSequence();
        }
Beispiel #55
0
            public static void Save(IValueSink sink, ChangeOfBitstring value)
            {
                sink.EnterSequence();
                Value <BitString56> .Save(sink, value.ReferencedBitstring);

                Value <StatusFlags> .Save(sink, value.StatusFlags);

                sink.LeaveSequence();
            }
Beispiel #56
0
            public static void Save(IValueSink sink, ChangeOfState value)
            {
                sink.EnterSequence();
                Value <PropertyStates> .Save(sink, value.NewState);

                Value <StatusFlags> .Save(sink, value.StatusFlags);

                sink.LeaveSequence();
            }
Beispiel #57
0
        public static void Save(IValueSink sink, VTDataAck value)
        {
            sink.EnterSequence();
            Value <bool> .Save(sink, value.AllNewDataAccepted);

            Value <Option <uint> > .Save(sink, value.AcceptedOctetCount);

            sink.LeaveSequence();
        }
Beispiel #58
0
            public static void Save(IValueSink sink, ChangeOfValue value)
            {
                sink.EnterSequence();
                Value <NewValue> .Save(sink, value.NewValue);

                Value <StatusFlags> .Save(sink, value.StatusFlags);

                sink.LeaveSequence();
            }
Beispiel #59
0
        public static void Save(IValueSink sink, Error value)
        {
            sink.EnterSequence();
            Value <ErrorClassType> .Save(sink, value.ErrorClass);

            Value <ErrorCodeType> .Save(sink, value.ErrorCode);

            sink.LeaveSequence();
        }
Beispiel #60
0
        public static void Save(IValueSink sink, PropertyReference value)
        {
            sink.EnterSequence();
            Value <PropertyIdentifier> .Save(sink, value.PropertyIdentifier);

            Value <Option <uint> > .Save(sink, value.PropertyArrayIndex);

            sink.LeaveSequence();
        }