using MECF.Framework.Common.Communications; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.UPS { public class UPSConnection : SNMPBase { private List _lstCacheBuffer = new List(); private string sendMessage; public UPSConnection(string portName) : base(portName, "public", 1, "\n") { } public override bool SendMessage(string message) { _lstCacheBuffer.Clear(); sendMessage = message; return base.SendMessage(message); } public override bool SendMessage(List message) { _lstCacheBuffer.Clear(); return base.SendMessage(message); } protected override MessageBase ParseResponse(string rawMessage) { return null; } protected override MessageBase ParseResponse(string Oid, string Value) { UPSMessage msg = new UPSMessage(); msg.IsResponse = false; msg.IsAck = false; msg.IsComplete = false; if (!sendMessage.Equals(Oid)) return msg; msg.Oid = Oid; msg.Value = Value; msg.IsResponse = true; msg.IsAck = true; msg.IsComplete = true; return msg; } protected override MessageBase ParseResponse(Dictionary rawMessagelist) { UPSMessage msg = new UPSMessage(); msg.IsResponse = false; msg.IsAck = false; msg.IsComplete = false; //if (!) return msg; //msg.Oid = Oid; // msg.Value = Value; if (rawMessagelist != null && rawMessagelist.Count == 0) { return msg; } msg.oidic = rawMessagelist; msg.IsResponse = true; msg.IsAck = true; msg.IsComplete = true; return msg; } } }