/// <summary> /// Called when a message for this channel is received /// </summary> /// <param name="message">message to process</param> public override Task OnMessageReceivedAsync(IMessage message) { switch (message) { case NextMessage nextMessage: NextRequested?.Invoke(this, EventArgs.Empty); break; case PreviousMessage prevMessage: PreviousRequested?.Invoke(this, EventArgs.Empty); break; case QueueItemIdsMessage itemIdsMessage: ItemIds = itemIdsMessage.ItemIds; break; case QueueItemsMessage itemsMessage: Items = itemsMessage.Items; break; case QueueChangeMessage changeMessage: QueueStatus = new QueueStatus() { ChangeTypeString = changeMessage.ChangeType, ItemIds = changeMessage.ItemIds }; QueueStatusChanged?.Invoke(this, EventArgs.Empty); break; } return(base.OnMessageReceivedAsync(message)); }
public void OnSkipNext(NextRequested nxt) { SkipNext?.Invoke(this, nxt); }