Beispiel #1
0
        internal OutputController(Guid id, string name, IOutputMediator <CommandOutput> outputMediator,
                                  IHardware executionControl,
                                  IOutputModuleConsumer <IControllerModuleInstance> outputModuleConsumer)
        {
            if (outputMediator == null)
            {
                throw new ArgumentNullException("outputMediator");
            }
            if (executionControl == null)
            {
                throw new ArgumentNullException("executionControl");
            }
            if (outputModuleConsumer == null)
            {
                throw new ArgumentNullException("outputModuleConsumer");
            }

            Id                    = id;
            Name                  = name;
            _outputMediator       = outputMediator;
            _executionControl     = executionControl;
            _outputModuleConsumer = outputModuleConsumer;

            _dataPolicyProvider = new OutputDataPolicyCache();
            _dataPolicyProvider.UseFactory(_ControllerModule.DataPolicyFactory);

            _ControllerModule.DataPolicyFactoryChanged += DataPolicyFactoryChanged;
        }