/// <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); }