public IOutputDevice CreateDevice(Guid deviceId, Guid moduleId, Guid moduleInstanceId, string name) { IHasOutputs <CommandOutput> outputs = new OutputCollection <CommandOutput>(); IModuleDataRetriever dataRetriever = new ModuleInstanceDataRetriever(VixenSystem.ModuleStore.InstanceData); IOutputModuleConsumer <IControllerModuleInstance> outputModuleConsumer = new OutputModuleConsumer <IControllerModuleInstance>(moduleId, moduleInstanceId, dataRetriever); IOutputMediator <CommandOutput> outputMediator = new OutputMediator <CommandOutput>(outputs, outputModuleConsumer.Module); IHardware executionControl = new BasicOutputModuleExecutionControl(outputModuleConsumer.Module); return(new OutputController(deviceId, name, outputMediator, executionControl, outputModuleConsumer)); }
public IOutputDevice CreateDevice(Guid deviceId, Guid moduleId, Guid moduleInstanceId, string name) { IHasOutputs<IntentOutput> outputs = new OutputCollection<IntentOutput>(); IModuleDataRetriever dataRetriever = new ModuleInstanceDataRetriever(VixenSystem.ModuleStore.InstanceData); IOutputModuleConsumer<ISmartControllerModuleInstance> outputModuleConsumer = new OutputModuleConsumer<ISmartControllerModuleInstance>(moduleId, moduleInstanceId, dataRetriever); IOutputMediator<IntentOutput> outputMediator = new OutputMediator<IntentOutput>(outputs, outputModuleConsumer.Module); IHardware executionControl = new BasicOutputModuleExecutionControl(outputModuleConsumer.Module); return new SmartOutputController(deviceId, name, outputMediator, executionControl, outputModuleConsumer); }