Example #1
0
 ///<exclude/>
 public void Deserialize(BinaryReader br)
 {
     seq = br.ReadUInt32();
     stamp = br.ReadDateTime();
     frame_id = br.ReadUtf8String();
 }
Example #2
0
 ///<exclude/>
 public void Deserialize(BinaryReader br)
 {
     data = br.ReadDateTime();
 }
        private void ReadObject(BinaryReader reader, ref object obj)
        {
            if (obj is bool)
                obj = reader.ReadBoolean();
            else if (obj is byte)
                obj = reader.ReadByte();
            else if (obj is char)
                obj = reader.ReadChar();
            else if (obj is DateTime)
                obj = reader.ReadDateTime();
            else if (obj is DateTime?)
                obj = reader.ReadNullableDateTime();
            else if (obj is double)
                obj = reader.ReadDouble();
            else if (obj is float)
                obj = reader.ReadSingle();
            else if (obj is int)
                obj = reader.ReadInt32();
            else if (obj is long)
                obj = reader.ReadInt64();
            else if (obj is long?)
                obj = reader.ReadNullableLong();
            else if (obj is sbyte)
                obj = reader.ReadSByte();
            else if (obj is short)
                obj = reader.ReadInt16();
            else if (obj is string)
                obj = reader.ReadString();
            else if (obj is uint)
                obj = reader.ReadUInt32();
            else if (obj is ulong)
                obj = reader.ReadUInt64();
            else if (obj is ushort)
                obj = reader.ReadUInt16();
            else if (obj is Enum)
                obj = reader.ReadUInt16();
            else if (obj is IBinarySerializer)
            {
                (obj as IBinarySerializer).Load(reader);
            }
            else if (obj is IEnumerable<IBinarySerializer>)
            {
                int count = reader.ReadInt32();
                Type elementType = GetTypeOfElementsInEnumerable(obj as IEnumerable);

                for (int i = 0; i < count; i++)
                {
                    object element = Activator.CreateInstance(elementType);
                    (element as IBinarySerializer).Load(reader);
                }
            }
            else if (obj is IEnumerable)
            {
                int count = reader.ReadInt32();
                Type elementType = GetTypeOfElementsInEnumerable(obj as IEnumerable);

                for (int i = 0; i < count; i++)
                {
                    object element = Activator.CreateInstance(elementType);
                    DeserializeObject(reader, ref element, elementType);
                }
            }
            else if (IncludeTypes.Contains(obj.GetType()))
            {
                DeserializeObject(reader, ref obj, obj.GetType());
            }
            else
                throw new BinarySerializeException(string.Format("Type {0} do not allows BinarySerialize", obj.GetType().Name));
        }
Example #4
0
		public static BuildEventArgs DecodeEvent(BinaryReader reader)
		{
			EventTypes type = (EventTypes)reader.ReadInt32();
			string message = reader.ReadNullableString();
			string helpKeyword = reader.ReadNullableString();
			string senderName = reader.ReadNullableString();
			DateTime eventTimestamp = reader.ReadDateTime();
			switch (type) {
				case EventTypes.Error:
					return new BuildErrorEventArgs(reader.ReadNullableString(), reader.ReadNullableString(), reader.ReadNullableString(),
					                               reader.ReadInt32(), reader.ReadInt32(), reader.ReadInt32(), reader.ReadInt32(),
					                               message, helpKeyword, senderName, eventTimestamp);
				case EventTypes.Warning:
					return new BuildWarningEventArgs(reader.ReadNullableString(), reader.ReadNullableString(), reader.ReadNullableString(),
					                                 reader.ReadInt32(), reader.ReadInt32(), reader.ReadInt32(), reader.ReadInt32(),
					                                 message, helpKeyword, senderName, eventTimestamp);
				case EventTypes.Message:
					MessageImportance importance = (MessageImportance)reader.ReadInt32();
					return new BuildMessageEventArgs(message, helpKeyword, senderName, importance, eventTimestamp);
				case EventTypes.BuildFinished:
					return new BuildFinishedEventArgs(message, helpKeyword, reader.ReadBoolean(), eventTimestamp);
				case EventTypes.BuildStarted:
					return new BuildStartedEventArgs(message, helpKeyword, eventTimestamp);
				case EventTypes.ProjectFinished:
					return new ProjectFinishedEventArgs(message, helpKeyword, reader.ReadNullableString(), reader.ReadBoolean(), eventTimestamp);
				case EventTypes.ProjectStarted:
					return new ProjectStartedEventArgs(message, helpKeyword, reader.ReadNullableString(), reader.ReadNullableString(),
					                                   null, null, eventTimestamp);
				case EventTypes.TargetFinished:
					return new TargetFinishedEventArgs(message, helpKeyword, reader.ReadNullableString(), reader.ReadNullableString(),
					                                   reader.ReadNullableString(), reader.ReadBoolean(), eventTimestamp, null);
				case EventTypes.TargetStarted:
					return new TargetStartedEventArgs(message, helpKeyword, reader.ReadNullableString(), reader.ReadNullableString(),
					                                  reader.ReadNullableString(), reader.ReadNullableString(), eventTimestamp);
				case EventTypes.TaskFinished:
					return new TaskFinishedEventArgs(message, helpKeyword, reader.ReadNullableString(), reader.ReadNullableString(),
					                                 reader.ReadNullableString(), reader.ReadBoolean(), eventTimestamp);
				case EventTypes.TaskStarted:
					return new TaskStartedEventArgs(message, helpKeyword, reader.ReadNullableString(), reader.ReadNullableString(),
					                                reader.ReadNullableString(), eventTimestamp);
				default:
					return new UnknownBuildEventArgs(message, helpKeyword, senderName, eventTimestamp);
			}
		}
Example #5
0
 public void Read(BinaryReader reader)
 {
     GameHost = reader.ReadString();
     GameMoves = reader.ReadList<GameMoveDataPoint>();
     Winner = reader.ReadString();
     GameDuration = reader.ReadInt32();
     GameStartTime = reader.ReadDateTime();
     PlayerDictionary = reader.ReadPlayerDictionary<PlayerGameStats>();
 }
Example #6
0
 public void Read(BinaryReader reader)
 {
     _alias = reader.ReadString();
     _emailAddress = reader.ReadString();
     _creationTime = reader.ReadDateTime();
     _ranking = reader.ReadInt32();
     _level = reader.ReadInt32();
     _experience = reader.ReadInt64();
 }