Converted as much ugly code as I could find into appropriate C#-friendly versions. For example, all the manual ByteHelper stuff, buffer index tracking, etc. are now BinaryWriters/BinaryReaders. Also cleaned up a bunch of getter and setter methods to use C# properties. There's still more to be done here, but this greatly simplifies the code for reading and comprehension.
44 lines
1.0 KiB
C#
44 lines
1.0 KiB
C#
using System;
|
|
using System.IO;
|
|
|
|
namespace ScreenLogicConnect.Messages
|
|
{
|
|
public class ChallengeString : HLMessage
|
|
{
|
|
public String challengeString { get; private set; }
|
|
|
|
public const short HLM_CLIENT_CHALLENGE = 14;
|
|
|
|
public static ChallengeString QUERY(short senderID)
|
|
{
|
|
return new ChallengeString(senderID, HLM_CLIENT_CHALLENGE);
|
|
}
|
|
|
|
private ChallengeString(short senderID, short msgID)
|
|
: base(senderID, msgID)
|
|
{
|
|
}
|
|
|
|
public ChallengeString(byte[] header, byte[] data)
|
|
: base(header, data)
|
|
{
|
|
}
|
|
|
|
public ChallengeString(HLMessage msg)
|
|
: base(msg)
|
|
{
|
|
}
|
|
|
|
protected override void decode()
|
|
{
|
|
using (var ms = new MemoryStream(data))
|
|
{
|
|
using (var br = new BinaryReader(dataByteStream))
|
|
{
|
|
challengeString = HLMessageTypeHelper.extractString(br);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|