Beispiel #1
0
        /// <summary>
        /// Configure MidInterpreter to parse all available Mids of a mode
        /// <para>Select Integrator if you're integrator or Controller if you're a controller</para>
        /// </summary>
        /// <param name="midInterpreter">MidInterpreter instance</param>
        /// <param name="mode">Are you the integrator or controller?</param>
        /// <returns></returns>
        public static MidInterpreter UseAllMessages(this MidInterpreter midInterpreter, IEnumerable <Type> mids)
        {
            if (mids.Any(x => !x.IsSubclassOf(typeof(Mid))))
            {
                throw new ArgumentException("All mids must inherit Mid class", nameof(mids));
            }

            return(midInterpreter
                   .UseAlarmMessages(mids.Where(x => DoesImplementInteface(x, typeof(Alarm.IAlarm))))
                   .UseApplicationControllerMessage(mids.Where(x => DoesImplementInteface(x, typeof(ApplicationController.IApplicationController))))
                   .UseApplicationSelectorMessages(mids.Where(x => DoesImplementInteface(x, typeof(ApplicationSelector.IApplicationSelector))))
                   .UseApplicationToolLocationSystemMessages(mids.Where(x => DoesImplementInteface(x, typeof(ApplicationToolLocationSystem.IApplicationToolLocationSystem))))
                   .UseAutomaticManualModeMessages(mids.Where(x => DoesImplementInteface(x, typeof(AutomaticManualMode.IAutomaticManualMode))))
                   .UseCommunicationMessages(mids.Where(x => DoesImplementInteface(x, typeof(Communication.ICommunication))))
                   .UseIOInterfaceMessages(mids.Where(x => DoesImplementInteface(x, typeof(IOInterface.IIOInterface))))
                   .UseJobMessages(mids.Where(x => DoesImplementInteface(x, typeof(Job.IJob))))
                   .UseAdvancedJobMessages(mids.Where(x => DoesImplementInteface(x, typeof(Job.Advanced.IAdvancedJob))))
                   .UseMotorTuningMessages(mids.Where(x => DoesImplementInteface(x, typeof(MotorTuning.IMotorTuning))))
                   .UseMultipleIdentifiersMessages(mids.Where(x => DoesImplementInteface(x, typeof(MultipleIdentifiers.IMultipleIdentifier))))
                   .UseMultiSpindleMessages(mids.Where(x => DoesImplementInteface(x, typeof(MultiSpindle.IMultiSpindle))))
                   .UseOpenProtocolCommandsDisabledMessages(mids.Where(x => DoesImplementInteface(x, typeof(OpenProtocolCommandsDisabled.IOpenProtocolCommandsDisabled))))
                   .UseParameterSetMessages(mids.Where(x => DoesImplementInteface(x, typeof(ParameterSet.IParameterSet))))
                   .UsePLCUserDataMessages(mids.Where(x => DoesImplementInteface(x, typeof(PLCUserData.IPLCUserData))))
                   .UsePowerMACSMessages(mids.Where(x => DoesImplementInteface(x, typeof(PowerMACS.IPowerMACS))))
                   .UseResultMessages(mids.Where(x => DoesImplementInteface(x, typeof(Result.IResult))))
                   .UseStatisticMessages(mids.Where(x => DoesImplementInteface(x, typeof(Statistic.IStatistic))))
                   .UseTighteningMessages(mids.Where(x => DoesImplementInteface(x, typeof(Tightening.ITightening))))
                   .UseTimeMessages(mids.Where(x => DoesImplementInteface(x, typeof(Time.ITime))))
                   .UseToolMessages(mids.Where(x => DoesImplementInteface(x, typeof(Tool.ITool))))
                   .UseUserInterfaceMessages(mids.Where(x => DoesImplementInteface(x, typeof(UserInterface.IUserInterface))))
                   .UseVinMessages(mids.Where(x => DoesImplementInteface(x, typeof(Vin.IVin)))));
        }
Beispiel #2
0
 /// <summary>
 /// Configure MidInterpreter to parse all available Mids of a mode
 /// <para>Select Integrator if you're integrator or Controller if you're a controller</para>
 /// </summary>
 /// <param name="midInterpreter">MidInterpreter instance</param>
 /// <param name="mode">Are you the integrator or controller?</param>
 /// <returns></returns>
 public static MidInterpreter UseAllMessages(this MidInterpreter midInterpreter, InterpreterMode mode = InterpreterMode.Both)
 {
     return(midInterpreter
            .UseAlarmMessages(mode)
            .UseApplicationControllerMessage(mode)
            .UseApplicationSelectorMessages(mode)
            .UseApplicationToolLocationSystemMessages(mode)
            .UseAutomaticManualModeMessages(mode)
            .UseCommunicationMessages(mode)
            .UseIOInterfaceMessages(mode)
            .UseJobMessages(mode)
            .UseAdvancedJobMessages(mode)
            .UseMotorTuningMessages(mode)
            .UseMultipleIdentifiersMessages(mode)
            .UseMultiSpindleMessages(mode)
            .UseOpenProtocolCommandsDisabledMessages(mode)
            .UseParameterSetMessages(mode)
            .UsePLCUserDataMessages(mode)
            .UsePowerMACSMessages(mode)
            .UseResultMessages(mode)
            .UseStatisticMessages(mode)
            .UseTighteningMessages(mode)
            .UseTimeMessages(mode)
            .UseToolMessages(mode)
            .UseUserInterfaceMessages(mode)
            .UseVinMessages(mode));
 }