private REInvokeStatus InvokeCommand(RECommand command, int instanceId, List <OSCValue> inputValues, ref List <OSCValue> outputValues) { if (command == RECommand.GetObjects) { return(InvokeGetObjectsCommand(instanceId, inputValues, ref outputValues)); } else if (command == RECommand.GetComponents) { return(InvokeGetComponentsCommand(instanceId, inputValues, ref outputValues)); } else if (command == RECommand.GetFields) { return(InvokeGetFieldsCommand(instanceId, inputValues, ref outputValues)); } else if (command == RECommand.GetValue) { return(InvokeGetValueCommand(instanceId, inputValues, ref outputValues)); } else if (command == RECommand.SetValue) { return(InvokeSetValueCommand(instanceId, inputValues, ref outputValues)); } else if (command == RECommand.Clear) { RefreshRootObjects(); return(REInvokeStatus.Complete); } return(REInvokeStatus.Cancel); }
private Task CreateTask(RECommand command, int parentId, TaskProcess processCallback, TaskComplete completeCallback) { var taskId = string.Format("{0}_{1}", parentId, command); var task = new Task(command, parentId, taskId); if (_tasksDictionary.ContainsKey(taskId)) { _tasksDictionary.Remove(taskId); } _tasksDictionary.Add(taskId, task); task.ProcessCallback = processCallback; task.CompleteCallback = completeCallback; return(task); }
public Task(RECommand command, int parentId, string taskId) { _command = command; _parentId = parentId; _taskId = taskId; }