Esempio n. 1
0
        /// <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));
        }
Esempio n. 2
0
 public void OnSkipNext(NextRequested nxt)
 {
     SkipNext?.Invoke(this, nxt);
 }