|
|
@ -304,152 +304,4 @@ namespace GenProto |
|
|
|
outList = list as List<T>; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public class test : ProtocolCore.ISerialize, ProtocolCore.IDeserialize<test> |
|
|
|
{ |
|
|
|
public const int ProtoId = 1; |
|
|
|
public string aa; |
|
|
|
|
|
|
|
public byte[] Serialize(bool bigEndian = true) |
|
|
|
{ |
|
|
|
using var memoryStream = new MemoryStream(); |
|
|
|
using var binaryWriter = new EndianBinaryWriter(EndianBitConverter.Big, memoryStream); |
|
|
|
Serialize(binaryWriter); |
|
|
|
return memoryStream.ToArray(); |
|
|
|
} |
|
|
|
|
|
|
|
public void Deserialize(byte[] data, bool bigEndian = true) |
|
|
|
{ |
|
|
|
using var memoryStream = new MemoryStream(data); |
|
|
|
using var binaryReader = new EndianBinaryReader(EndianBitConverter.Big, memoryStream); |
|
|
|
Deserialize(binaryReader); |
|
|
|
} |
|
|
|
|
|
|
|
public void Serialize(EndianBinaryWriter binaryWriter) |
|
|
|
{ |
|
|
|
binaryWriter.WriteValue(aa); |
|
|
|
} |
|
|
|
|
|
|
|
public void Deserialize(EndianBinaryReader binaryReader) |
|
|
|
{ |
|
|
|
binaryReader.ReadValue(out aa); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public class phoneNumber : ProtocolCore.ISerialize, ProtocolCore.IDeserialize<phoneNumber> |
|
|
|
{ |
|
|
|
public const int ProtoId = 2; |
|
|
|
public test number; |
|
|
|
public int type; |
|
|
|
|
|
|
|
public byte[] Serialize() |
|
|
|
{ |
|
|
|
using var memoryStream = new MemoryStream(); |
|
|
|
using var binaryWriter = new EndianBinaryWriter(EndianBitConverter.Big, memoryStream); |
|
|
|
Serialize(binaryWriter); |
|
|
|
return memoryStream.ToArray(); |
|
|
|
} |
|
|
|
|
|
|
|
public void Deserialize(byte[] data) |
|
|
|
{ |
|
|
|
using var memoryStream = new MemoryStream(data); |
|
|
|
using var binaryReader = new EndianBinaryReader(EndianBitConverter.Big, memoryStream); |
|
|
|
Deserialize(binaryReader); |
|
|
|
} |
|
|
|
|
|
|
|
public void Serialize(EndianBinaryWriter binaryWriter) |
|
|
|
{ |
|
|
|
binaryWriter.WriteValue(number); |
|
|
|
binaryWriter.WriteValue(type); |
|
|
|
} |
|
|
|
|
|
|
|
public void Deserialize(EndianBinaryReader binaryReader) |
|
|
|
{ |
|
|
|
binaryReader.ReadValue(out number); |
|
|
|
binaryReader.ReadValue(out type); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public class person : ProtocolCore.ISerialize, ProtocolCore.IDeserialize<person> |
|
|
|
{ |
|
|
|
public const int ProtoId = 3; |
|
|
|
public string name; |
|
|
|
public int id; |
|
|
|
public string email; |
|
|
|
public List<phoneNumber> phone; |
|
|
|
|
|
|
|
public byte[] Serialize() |
|
|
|
{ |
|
|
|
using var memoryStream = new MemoryStream(); |
|
|
|
using var binaryWriter = new EndianBinaryWriter(EndianBitConverter.Big, memoryStream); |
|
|
|
Serialize(binaryWriter); |
|
|
|
return memoryStream.ToArray(); |
|
|
|
} |
|
|
|
|
|
|
|
public void Deserialize(byte[] data) |
|
|
|
{ |
|
|
|
using var memoryStream = new MemoryStream(data); |
|
|
|
using var binaryReader = new EndianBinaryReader(EndianBitConverter.Big, memoryStream); |
|
|
|
Deserialize(binaryReader); |
|
|
|
} |
|
|
|
|
|
|
|
public void Serialize(EndianBinaryWriter binaryWriter) |
|
|
|
{ |
|
|
|
binaryWriter.WriteValue(name); |
|
|
|
binaryWriter.WriteValue(id); |
|
|
|
binaryWriter.WriteValue(email); |
|
|
|
if (xx != null) |
|
|
|
{ |
|
|
|
binaryWriter.WriteValue(1); |
|
|
|
binaryWriter.WriteValue(phone); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
|
|
|
|
} |
|
|
|
binaryWriter.WriteValue(phone); |
|
|
|
} |
|
|
|
|
|
|
|
public void Deserialize(EndianBinaryReader binaryReader) |
|
|
|
{ |
|
|
|
binaryReader.ReadValue(out name); |
|
|
|
binaryReader.ReadValue(out id); |
|
|
|
binaryReader.ReadValue(out email); |
|
|
|
binaryReader.ReadValue(out phone, 0x00); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public class addressBook : ProtocolCore.ISerialize, ProtocolCore.IDeserialize<addressBook> |
|
|
|
{ |
|
|
|
public const int ProtoId = 4; |
|
|
|
public List<person> person; |
|
|
|
public List<person> other; |
|
|
|
|
|
|
|
public byte[] Serialize() |
|
|
|
{ |
|
|
|
using var memoryStream = new MemoryStream(); |
|
|
|
using var binaryWriter = new EndianBinaryWriter(EndianBitConverter.Big, memoryStream); |
|
|
|
Serialize(binaryWriter); |
|
|
|
return memoryStream.ToArray(); |
|
|
|
} |
|
|
|
|
|
|
|
public void Deserialize(byte[] data) |
|
|
|
{ |
|
|
|
using var memoryStream = new MemoryStream(data); |
|
|
|
using var binaryReader = new EndianBinaryReader(EndianBitConverter.Big, memoryStream); |
|
|
|
Deserialize(binaryReader); |
|
|
|
} |
|
|
|
|
|
|
|
public void Serialize(EndianBinaryWriter binaryWriter) |
|
|
|
{ |
|
|
|
binaryWriter.WriteValue(person); |
|
|
|
binaryWriter.WriteValue(other); |
|
|
|
} |
|
|
|
|
|
|
|
public void Deserialize(EndianBinaryReader binaryReader) |
|
|
|
{ |
|
|
|
binaryReader.ReadValue(out person); |
|
|
|
binaryReader.ReadValue(out other); |
|
|
|
} |
|
|
|
} |
|
|
|
} |