public void RegisterPersistentTask(TaskPredicate predicate, Task task, TaskError taskError, object userObject) { lock ( mMutex ) { mPersistentCommandList.Add(new Command(predicate, task, taskError, userObject)); } }
public Command(TaskPredicate predicate, Task task, TaskError taskError, object userObject) { mPred = predicate; mTask = task; mError = taskError; mUserObject = userObject; }
public void RegisterOneShotTask(TaskPredicate predicate, Task task, TaskError taskError, object userObject) { lock ( mMutex ) { mOneShotCommandQueue.Enqueue(new Command(predicate, task, taskError, userObject)); } }