Ejemplo n.º 1
0
        private void ProcessTasks()
        {
            int queueCount = LupTaskQueue.CountEntries();

            while (LupTaskQueue.Peek(out TaskLUP FirstQueueTask))
            {
                int taskId = FirstQueueTask.id;

                switch (taskId)
                {
                // CallTaskId
                case GenConstants.GenConstants.CallTaskId:
                    Processor.ProcessCallTask(FirstQueueTask);
                    LupTaskQueue.Dequeue();
                    if (FirstQueueTask.IsContinuous && !stopAllFlag)
                    {
                        LupTaskQueue.Enqueue(FirstQueueTask);
                    }
                    break;

                //ControlDisplayTaskId
                case GenConstants.GenConstants.ControlDisplayTaskId:
                    Processor.ProcessControlDisplayTask(FirstQueueTask);
                    LupTaskQueue.Dequeue();
                    if (FirstQueueTask.IsContinuous && !stopAllFlag)
                    {
                        LupTaskQueue.Enqueue(FirstQueueTask);
                    }
                    break;

                case GenConstants.GenConstants.ControlUsbHostTaskId:
                    //ControlUsbHostTaskId
                    Processor.ProcessControlUsbHostTask(FirstQueueTask);
                    LupTaskQueue.Dequeue();
                    if (FirstQueueTask.IsContinuous && !stopAllFlag)
                    {
                        LupTaskQueue.Enqueue(FirstQueueTask);
                    }
                    break;

                //RequestLastSeenKeyTaskId
                case GenConstants.GenConstants.RequestLastSeenKeyTaskId:
                    Processor.ProcessRequestLastSeenKeyTask(FirstQueueTask);
                    LupTaskQueue.Dequeue();
                    if (FirstQueueTask.IsContinuous && !stopAllFlag)
                    {
                        LupTaskQueue.Enqueue(FirstQueueTask);
                    }
                    break;

                //RequestDisplayStateTaskId
                case GenConstants.GenConstants.RequestDisplayStateTaskId:
                    Processor.ProcessRequestDisplayStateTask(FirstQueueTask);
                    LupTaskQueue.Dequeue();
                    if (FirstQueueTask.IsContinuous && !stopAllFlag)
                    {
                        LupTaskQueue.Enqueue(FirstQueueTask);
                    }
                    break;

                //RequestUsbHostStatusTaskId
                case GenConstants.GenConstants.RequestUsbHostStatusTaskId:
                    Processor.ProcessRequestUsbHostStatusTask(FirstQueueTask);
                    LupTaskQueue.Dequeue();
                    if (FirstQueueTask.IsContinuous && !stopAllFlag)
                    {
                        LupTaskQueue.Enqueue(FirstQueueTask);
                    }
                    break;

                //RequestUsbHostModemStatusTaskId
                case GenConstants.GenConstants.RequestUsbHostModemStatusTaskId:
                    Processor.ProcessRequestUsbHostModemStatusTask(FirstQueueTask);
                    LupTaskQueue.Dequeue();
                    if (FirstQueueTask.IsContinuous && !stopAllFlag)
                    {
                        LupTaskQueue.Enqueue(FirstQueueTask);
                    }
                    break;

                //RequestUsbHostStatusTaskId
                case GenConstants.GenConstants.ControlUsbHostModemTaskId:
                    Processor.ProcessControlUsbHostModemTask(FirstQueueTask);
                    LupTaskQueue.Dequeue();
                    if (FirstQueueTask.IsContinuous && !stopAllFlag)
                    {
                        LupTaskQueue.Enqueue(FirstQueueTask);
                    }
                    break;

                //clean task queue
                case GenConstants.GenConstants.StopTaskId:
                    stopAllFlag = true;
                    LupTaskQueue.CleanQueue();
                    break;
                }
            }
        }
Ejemplo n.º 2
0
 public void CreateTask(TaskLUP taskToBeCreated)
 {
     LupTaskQueue.Enqueue(taskToBeCreated);
 }