示例#1
0
        /// <summary>
        /// Method that executes all actions in the Queue
        /// </summary>
        public void ProcessQueueMessages()
        {
            while (_queueRunningStatus)
            {
                QueuedAction queueActionObject = (QueuedAction)_queuedActionList.GetItemWithTimeout(100);

                if (queueActionObject != null)
                {
                    queueActionObject.Perform();

                    if (queueActionObject.IsLastAction())
                    {
                        _queueRunningStatus = false;
                        return;
                    }
                }
            }
        }
 /// <summary>
 /// Add a new action to the Queue for processing
 /// </summary>
 /// <param name="queuedActionObject"></param>
 public void AddQueuedAction(QueuedAction queuedActionObject)
 {
     if (_queueRunningStatus)
         _queuedActionList.AddItem(queuedActionObject);
 }