/// <summary> /// Initialize from msg /// </summary> public Slot(SlotDataResponse msg) : this(msg.Slot) { Status1 = msg.Status1; Address = msg.Address; Speed = msg.Speed; DirF = msg.DirF; Track = msg.TrackStatus; Status2 = msg.Status2; Sound = msg.Sound; }
/// <summary> /// Send a slot data response for the given slot. /// </summary> protected void SendSlotDataResponse(Slot slot, int slotNumber) { var msg = new SlotDataResponse(slotNumber); if (slot != null) { log.Trace("Send: SlotDataResponse: slot={0}, address={1}", slotNumber, slot.Address); msg.Status1 = SlotStatus1.InUse; msg.Address = slot.Address; msg.DirF = slot.DirF; msg.Speed = slot.Speed; msg.Sound = slot.Sound; // TODO fill other properties } else { // Fill "slot free" properties log.Trace("Send: SlotDataResponse: slot={0}, free", slotNumber); msg.Status1 = SlotStatus1.None; } msg.Execute(lb); }
public virtual TReturn Visit(SlotDataResponse msg, TData data) { return(default(TReturn)); }