internal static int Marshal(NotificationSettings settings, int dataLength, byte[] buffer, int offset, bool extended)
 {
     byte[] buffer2 = new byte[MarshalSize(extended)];
     using (BinaryWriter writer = new BinaryWriter(new MemoryStream(buffer2)))
     {
         Marshal(settings, dataLength, writer, extended);
     }
     Array.Copy(buffer2, 0, buffer, offset, buffer2.Length);
     return(buffer2.Length);
 }
Example #2
0
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            if (base.GetType() != obj.GetType())
            {
                return(false);
            }
            NotificationSettings settings = (NotificationSettings)obj;

            return((this.NotificationMode == settings.NotificationMode) ? ((this.CycleTime == settings.CycleTime) ? (this.MaxDelay == settings.MaxDelay) : false) : false);
        }
        internal static int Marshal(NotificationSettings settings, int dataLength, BinaryWriter writer, bool extended)
        {
            int cycleTime = settings.CycleTime;

            if ((settings.NotificationMode != AdsTransMode.CyclicInContext) && (settings.NotificationMode != AdsTransMode.OnChangeInContext))
            {
                cycleTime *= 0x2710;
            }
            writer.Write(dataLength);
            writer.Write((int)settings.NotificationMode);
            writer.Write(settings.MaxDelay);
            writer.Write(cycleTime);
            if (extended)
            {
                writer.Write((ulong)0UL);
                writer.Write((ulong)0UL);
            }
            return(MarshalSize(extended));
        }