Made all VS-recommended changes
This commit is contained in:
@ -9,18 +9,18 @@ namespace ScreenLogicConnect
|
|||||||
{
|
{
|
||||||
public class EasyTouchUnit
|
public class EasyTouchUnit
|
||||||
{
|
{
|
||||||
public String gatewayName { get; private set; }
|
public string GatewayName { get; private set; }
|
||||||
public byte gatewaySubType { get; private set; }
|
public byte GatewaySubType { get; private set; }
|
||||||
public byte gatewayType { get; private set; }
|
public byte GatewayType { get; private set; }
|
||||||
public IPAddress ipAddress { get; private set; }
|
public IPAddress IPAddress { get; private set; }
|
||||||
public bool isValid { get; private set; }
|
public bool IsValid { get; private set; }
|
||||||
public short port { get; private set; }
|
public short Port { get; private set; }
|
||||||
|
|
||||||
public EasyTouchUnit(UdpReceiveResult result)
|
public EasyTouchUnit(UdpReceiveResult result)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ipAddress = result.RemoteEndPoint.Address;
|
IPAddress = result.RemoteEndPoint.Address;
|
||||||
|
|
||||||
using (var ms = new MemoryStream(result.Buffer))
|
using (var ms = new MemoryStream(result.Buffer))
|
||||||
{
|
{
|
||||||
@ -30,12 +30,12 @@ namespace ScreenLogicConnect
|
|||||||
if (unitType == 2)
|
if (unitType == 2)
|
||||||
{
|
{
|
||||||
br.ReadBytes(4);
|
br.ReadBytes(4);
|
||||||
port = br.ReadInt16();
|
Port = br.ReadInt16();
|
||||||
gatewayType = br.ReadByte();
|
GatewayType = br.ReadByte();
|
||||||
gatewaySubType = br.ReadByte();
|
GatewaySubType = br.ReadByte();
|
||||||
gatewayName = Encoding.ASCII.GetString(result.Buffer.Skip((int)ms.Position).TakeWhile(x => x != 0).ToArray());
|
GatewayName = Encoding.ASCII.GetString(result.Buffer.Skip((int)ms.Position).TakeWhile(x => x != 0).ToArray());
|
||||||
|
|
||||||
isValid = true;
|
IsValid = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -50,10 +50,10 @@ namespace ScreenLogicConnect
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
gatewayName = data.GatewayName;
|
GatewayName = data.GatewayName;
|
||||||
ipAddress = IPAddress.Parse(data.IPAddr);
|
IPAddress = IPAddress.Parse(data.IPAddr);
|
||||||
port = data.Port;
|
Port = data.Port;
|
||||||
isValid = data.GatewayFound && data.PortOpen;
|
IsValid = data.GatewayFound && data.PortOpen;
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
@ -12,7 +12,7 @@ namespace ScreenLogicConnect
|
|||||||
{
|
{
|
||||||
public static void SendHLMessage(this NetworkStream stream, Messages.HLMessage msg)
|
public static void SendHLMessage(this NetworkStream stream, Messages.HLMessage msg)
|
||||||
{
|
{
|
||||||
var arr = msg.asByteArray();
|
var arr = msg.AsByteArray();
|
||||||
System.Diagnostics.Debug.WriteLine($" sent {arr.Length}");
|
System.Diagnostics.Debug.WriteLine($" sent {arr.Length}");
|
||||||
stream.Write(arr, 0, arr.Length);
|
stream.Write(arr, 0, arr.Length);
|
||||||
}
|
}
|
||||||
@ -21,7 +21,7 @@ namespace ScreenLogicConnect
|
|||||||
{
|
{
|
||||||
bw.Write(val.Length);
|
bw.Write(val.Length);
|
||||||
bw.Write(Encoding.ASCII.GetBytes(val));
|
bw.Write(Encoding.ASCII.GetBytes(val));
|
||||||
bw.Write(new byte[HLMessageTypeHelper.alignToNext4Boundary(val.Length)]);
|
bw.Write(new byte[HLMessageTypeHelper.AlignToNext4Boundary(val.Length)]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void WritePrefixLength(this BinaryWriter bw, byte[] val)
|
public static void WritePrefixLength(this BinaryWriter bw, byte[] val)
|
||||||
|
@ -15,7 +15,7 @@ namespace ScreenLogicConnect
|
|||||||
};
|
};
|
||||||
|
|
||||||
protected const short multicastPort = 1444;
|
protected const short multicastPort = 1444;
|
||||||
private Socket searchSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
|
private readonly Socket searchSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
|
||||||
|
|
||||||
public static async Task<List<EasyTouchUnit>> Find()
|
public static async Task<List<EasyTouchUnit>> Find()
|
||||||
{
|
{
|
||||||
@ -33,7 +33,7 @@ namespace ScreenLogicConnect
|
|||||||
if (buf != null && buf.RemoteEndPoint != null)
|
if (buf != null && buf.RemoteEndPoint != null)
|
||||||
{
|
{
|
||||||
var findServerResponse = new EasyTouchUnit(buf);
|
var findServerResponse = new EasyTouchUnit(buf);
|
||||||
if (findServerResponse.isValid)
|
if (findServerResponse.IsValid)
|
||||||
{
|
{
|
||||||
units.Add(findServerResponse);
|
units.Add(findServerResponse);
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ namespace ScreenLogicConnect.Messages
|
|||||||
{
|
{
|
||||||
public class ChallengeString : HLMessage
|
public class ChallengeString : HLMessage
|
||||||
{
|
{
|
||||||
public String challengeString { get; private set; }
|
public string ChallengeStr { get; private set; }
|
||||||
|
|
||||||
public const short HLM_CLIENT_CHALLENGE = 14;
|
public const short HLM_CLIENT_CHALLENGE = 14;
|
||||||
|
|
||||||
@ -29,13 +29,13 @@ namespace ScreenLogicConnect.Messages
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void decode()
|
protected override void Decode()
|
||||||
{
|
{
|
||||||
using (var ms = new MemoryStream(data))
|
using (var ms = new MemoryStream(data))
|
||||||
{
|
{
|
||||||
using (var br = new BinaryReader(dataByteStream))
|
using (var br = new BinaryReader(dataByteStream))
|
||||||
{
|
{
|
||||||
challengeString = HLMessageTypeHelper.extractString(br);
|
ChallengeStr = HLMessageTypeHelper.ExtractString(br);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ namespace ScreenLogicConnect.Messages
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public override byte[] asByteArray()
|
public override byte[] AsByteArray()
|
||||||
{
|
{
|
||||||
using (var ms = new MemoryStream())
|
using (var ms = new MemoryStream())
|
||||||
{
|
{
|
||||||
@ -40,7 +40,7 @@ namespace ScreenLogicConnect.Messages
|
|||||||
data = ms.ToArray();
|
data = ms.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
return base.asByteArray();
|
return base.AsByteArray();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,7 @@ namespace ScreenLogicConnect.Messages
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public override byte[] asByteArray()
|
public override byte[] AsByteArray()
|
||||||
{
|
{
|
||||||
using (var ms = new MemoryStream())
|
using (var ms = new MemoryStream())
|
||||||
{
|
{
|
||||||
@ -59,10 +59,10 @@ namespace ScreenLogicConnect.Messages
|
|||||||
data = ms.ToArray();
|
data = ms.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
return base.asByteArray();
|
return base.AsByteArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void decode()
|
protected override void Decode()
|
||||||
{
|
{
|
||||||
using (var ms = new MemoryStream(data))
|
using (var ms = new MemoryStream(data))
|
||||||
{
|
{
|
||||||
@ -79,7 +79,7 @@ namespace ScreenLogicConnect.Messages
|
|||||||
m_HWType = br.ReadByte();
|
m_HWType = br.ReadByte();
|
||||||
m_ControllerData = br.ReadByte();
|
m_ControllerData = br.ReadByte();
|
||||||
m_EquipFlags = br.ReadInt32();
|
m_EquipFlags = br.ReadInt32();
|
||||||
m_genCircuitName = HLMessageTypeHelper.extractString(br);
|
m_genCircuitName = HLMessageTypeHelper.ExtractString(br);
|
||||||
m_CircuitCount = br.ReadInt32();
|
m_CircuitCount = br.ReadInt32();
|
||||||
bodyArray = new BodyDataStructure[m_CircuitCount];
|
bodyArray = new BodyDataStructure[m_CircuitCount];
|
||||||
for (int i = 0; i < m_CircuitCount; i++)
|
for (int i = 0; i < m_CircuitCount; i++)
|
||||||
@ -87,7 +87,7 @@ namespace ScreenLogicConnect.Messages
|
|||||||
bodyArray[i] = new BodyDataStructure()
|
bodyArray[i] = new BodyDataStructure()
|
||||||
{
|
{
|
||||||
m_circuitID = br.ReadInt32(),
|
m_circuitID = br.ReadInt32(),
|
||||||
m_name = HLMessageTypeHelper.extractString(br),
|
m_name = HLMessageTypeHelper.ExtractString(br),
|
||||||
m_nameIndex = br.ReadByte(),
|
m_nameIndex = br.ReadByte(),
|
||||||
m_function = br.ReadByte(),
|
m_function = br.ReadByte(),
|
||||||
m_interface = br.ReadByte(),
|
m_interface = br.ReadByte(),
|
||||||
@ -105,7 +105,7 @@ namespace ScreenLogicConnect.Messages
|
|||||||
m_ColorArray = new PentLightColor[colorCount];
|
m_ColorArray = new PentLightColor[colorCount];
|
||||||
for (int i = 0; i < colorCount; i++)
|
for (int i = 0; i < colorCount; i++)
|
||||||
{
|
{
|
||||||
m_ColorArray[i] = new PentLightColor(HLMessageTypeHelper.extractString(br), HLMessageTypeHelper.extractColor(br));
|
m_ColorArray[i] = new PentLightColor(HLMessageTypeHelper.ExtractString(br), HLMessageTypeHelper.ExtractColor(br));
|
||||||
}
|
}
|
||||||
for (int i = 0; i < PUM_CIRC_COUNT; i++)
|
for (int i = 0; i < PUM_CIRC_COUNT; i++)
|
||||||
{
|
{
|
||||||
|
@ -19,9 +19,10 @@ namespace ScreenLogicConnect.Messages
|
|||||||
|
|
||||||
public static GetGatewayData QUERY(string systemName, short senderID = 0)
|
public static GetGatewayData QUERY(string systemName, short senderID = 0)
|
||||||
{
|
{
|
||||||
var ret = new GetGatewayData(senderID, HLM_GETGATEWAYDATA);
|
return new GetGatewayData(senderID, HLM_GETGATEWAYDATA)
|
||||||
ret.GatewayName = systemName;
|
{
|
||||||
return ret;
|
GatewayName = systemName,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public GetGatewayData(short senderID, short msgID)
|
public GetGatewayData(short senderID, short msgID)
|
||||||
@ -34,7 +35,7 @@ namespace ScreenLogicConnect.Messages
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public override byte[] asByteArray()
|
public override byte[] AsByteArray()
|
||||||
{
|
{
|
||||||
using (var ms = new MemoryStream())
|
using (var ms = new MemoryStream())
|
||||||
{
|
{
|
||||||
@ -47,10 +48,10 @@ namespace ScreenLogicConnect.Messages
|
|||||||
data = ms.ToArray();
|
data = ms.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
return base.asByteArray();
|
return base.AsByteArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void decode()
|
protected override void Decode()
|
||||||
{
|
{
|
||||||
using (var ms = new MemoryStream(data))
|
using (var ms = new MemoryStream(data))
|
||||||
{
|
{
|
||||||
@ -58,7 +59,7 @@ namespace ScreenLogicConnect.Messages
|
|||||||
{
|
{
|
||||||
GatewayFound = br.ReadBoolean();
|
GatewayFound = br.ReadBoolean();
|
||||||
LicenseOK = br.ReadBoolean();
|
LicenseOK = br.ReadBoolean();
|
||||||
IPAddr = HLMessageTypeHelper.extractString(br);
|
IPAddr = HLMessageTypeHelper.ExtractString(br);
|
||||||
Port = br.ReadInt16();
|
Port = br.ReadInt16();
|
||||||
PortOpen = br.ReadBoolean();
|
PortOpen = br.ReadBoolean();
|
||||||
RelayOn = br.ReadBoolean();
|
RelayOn = br.ReadBoolean();
|
||||||
|
@ -50,7 +50,7 @@ namespace ScreenLogicConnect.Messages
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public override byte[] asByteArray()
|
public override byte[] AsByteArray()
|
||||||
{
|
{
|
||||||
using (var ms = new MemoryStream())
|
using (var ms = new MemoryStream())
|
||||||
{
|
{
|
||||||
@ -62,10 +62,10 @@ namespace ScreenLogicConnect.Messages
|
|||||||
data = ms.ToArray();
|
data = ms.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
return base.asByteArray();
|
return base.AsByteArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void decode()
|
protected override void Decode()
|
||||||
{
|
{
|
||||||
using (var ms = new MemoryStream(data))
|
using (var ms = new MemoryStream(data))
|
||||||
{
|
{
|
||||||
|
@ -42,7 +42,7 @@ namespace ScreenLogicConnect.Messages
|
|||||||
bw.Write(dataArray);
|
bw.Write(dataArray);
|
||||||
}
|
}
|
||||||
|
|
||||||
decode();
|
Decode();
|
||||||
}
|
}
|
||||||
|
|
||||||
public HLMessage(HLMessage msg)
|
public HLMessage(HLMessage msg)
|
||||||
@ -50,7 +50,7 @@ namespace ScreenLogicConnect.Messages
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual byte[] asByteArray()
|
public virtual byte[] AsByteArray()
|
||||||
{
|
{
|
||||||
var dataLength = this.data?.Length ?? 0;
|
var dataLength = this.data?.Length ?? 0;
|
||||||
byte[] result = new byte[dataLength + this.header.Length];
|
byte[] result = new byte[dataLength + this.header.Length];
|
||||||
@ -67,27 +67,27 @@ namespace ScreenLogicConnect.Messages
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int extractDataSize(byte[] data)
|
public static int ExtractDataSize(byte[] data)
|
||||||
{
|
{
|
||||||
return BitConverter.ToInt32(data, 4);
|
return BitConverter.ToInt32(data, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
public short getMessageID()
|
public short GetMessageID()
|
||||||
{
|
{
|
||||||
return BitConverter.ToInt16(header, 2);
|
return BitConverter.ToInt16(header, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
public short getMessageSender()
|
public short GetMessageSender()
|
||||||
{
|
{
|
||||||
return BitConverter.ToInt16(header, 0);
|
return BitConverter.ToInt16(header, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getMessageIDasString()
|
public string GetMessageIDasString()
|
||||||
{
|
{
|
||||||
return getMessageID().ToString();
|
return GetMessageID().ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void decode()
|
protected virtual void Decode()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,10 +5,10 @@ namespace ScreenLogicConnect.Messages
|
|||||||
{
|
{
|
||||||
public class HLMessageTypeHelper
|
public class HLMessageTypeHelper
|
||||||
{
|
{
|
||||||
public static String extractString(BinaryReader br)
|
public static string ExtractString(BinaryReader br)
|
||||||
{
|
{
|
||||||
var len = br.ReadInt32();
|
var len = br.ReadInt32();
|
||||||
var str = new String(br.ReadChars(len));
|
var str = new string(br.ReadChars(len));
|
||||||
while (len % 4 != 0)
|
while (len % 4 != 0)
|
||||||
{
|
{
|
||||||
br.Read();
|
br.Read();
|
||||||
@ -18,7 +18,7 @@ namespace ScreenLogicConnect.Messages
|
|||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RgbColor extractColor(BinaryReader br)
|
public static RgbColor ExtractColor(BinaryReader br)
|
||||||
{
|
{
|
||||||
return new RgbColor(
|
return new RgbColor(
|
||||||
(byte)(br.ReadInt32() & 0xff),
|
(byte)(br.ReadInt32() & 0xff),
|
||||||
@ -27,7 +27,7 @@ namespace ScreenLogicConnect.Messages
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int alignToNext4Boundary(int val)
|
public static int AlignToNext4Boundary(int val)
|
||||||
{
|
{
|
||||||
int sub = val % 4;
|
int sub = val % 4;
|
||||||
return sub == 0 ? 0 : 4 - sub;
|
return sub == 0 ? 0 : 4 - sub;
|
||||||
|
@ -25,7 +25,7 @@ namespace Test
|
|||||||
{
|
{
|
||||||
foreach (var server in servers)
|
foreach (var server in servers)
|
||||||
{
|
{
|
||||||
if (server.isValid)
|
if (server.IsValid)
|
||||||
{
|
{
|
||||||
await ConnectToUnit(server);
|
await ConnectToUnit(server);
|
||||||
break;
|
break;
|
||||||
@ -33,7 +33,7 @@ namespace Test
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (servers == null || servers.Count == 0 || !servers.Any(x => x.isValid))
|
if (servers == null || servers.Count == 0 || !servers.Any(x => x.IsValid))
|
||||||
{
|
{
|
||||||
Console.WriteLine("No local units found.");
|
Console.WriteLine("No local units found.");
|
||||||
}
|
}
|
||||||
@ -42,7 +42,7 @@ namespace Test
|
|||||||
static async Task DoRemoteConnect(string systemName, string systemPassword)
|
static async Task DoRemoteConnect(string systemName, string systemPassword)
|
||||||
{
|
{
|
||||||
var unit = await ScreenLogicConnect.RemoteConnect.GetGatewayInfo(systemName);
|
var unit = await ScreenLogicConnect.RemoteConnect.GetGatewayInfo(systemName);
|
||||||
if (unit.isValid)
|
if (unit.IsValid)
|
||||||
{
|
{
|
||||||
await ConnectToUnit(unit, systemPassword);
|
await ConnectToUnit(unit, systemPassword);
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ namespace ScreenLogicConnect
|
|||||||
}
|
}
|
||||||
|
|
||||||
client = new TcpClient();
|
client = new TcpClient();
|
||||||
await client.ConnectAsync(unit.ipAddress, unit.port);
|
await client.ConnectAsync(unit.IPAddress, unit.Port);
|
||||||
|
|
||||||
var connMsg = CreateConnectServerSoftMessage();
|
var connMsg = CreateConnectServerSoftMessage();
|
||||||
var stream = client.GetStream();
|
var stream = client.GetStream();
|
||||||
@ -37,7 +37,7 @@ namespace ScreenLogicConnect
|
|||||||
using (var br = new BinaryReader(ms))
|
using (var br = new BinaryReader(ms))
|
||||||
{
|
{
|
||||||
br.ReadBytes(8);
|
br.ReadBytes(8);
|
||||||
challengeStr = Messages.HLMessageTypeHelper.extractString(br);
|
challengeStr = Messages.HLMessageTypeHelper.ExtractString(br);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ namespace ScreenLogicConnect
|
|||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
|
|
||||||
int msgDataSize = Messages.HLMessage.extractDataSize(headerBuffer);
|
int msgDataSize = Messages.HLMessage.ExtractDataSize(headerBuffer);
|
||||||
if (msgDataSize <= 0 || msgDataSize >= 100000)
|
if (msgDataSize <= 0 || msgDataSize >= 100000)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
|
Reference in New Issue
Block a user