private RdmPacket ProcessSlotInfo(RdmPacket packet) { SlotInfo.GetReply response = packet as SlotInfo.GetReply; if (response != null) { foreach (SlotInfo.SlotInformation slot in response.Slots) { PersonalitySlotInformation slotInfo = new PersonalitySlotInformation(); slotInfo.Id = slot.Id; slotInfo.Offset = slot.Offset; slotInfo.Type = slot.Type; slotInfo.SlotLink = slot.SlotLink; Personality.Add(slotInfo); //Request the slot description. SlotDescription.Get slotDescription = new SlotDescription.Get(); slotDescription.SlotOffset = slot.Offset; foreach (var socket in sockets) { socket.SendRdm(slotDescription, Address, Id); } } } return(null); }
protected RdmPacket GetSlotInfo(RdmPacket packet) { SlotInfo.Get requestPacket = packet as SlotInfo.Get; if (requestPacket != null) { SlotInfo.GetReply replyPacket = new SlotInfo.GetReply(); foreach (RdmSlot slot in this) { replyPacket.Slots.Add(slot.Information); } return(replyPacket); } return(null); }