public IAssemblyScanner Load(IPluginRepository repository, ILogMessagesFromRemoteAppDomains logger) { try { var builder = new ContainerBuilder(); { builder.RegisterModule(new SchedulingModule()); builder.Register(c => new PartImportEngine( c.Resolve<ISatisfyPluginRequests>())) .As<IConnectParts>(); builder.RegisterInstance(repository) .As<IPluginRepository>() .As<ISatisfyPluginRequests>(); } var container = builder.Build(); Func<IBuildFixedSchedules> scheduleBuilder = () => container.Resolve<IBuildFixedSchedules>(); return new RemoteAssemblyScanner( container.Resolve<IPluginRepository>(), container.Resolve<IConnectParts>(), logger, scheduleBuilder); } catch (Exception e) { logger.Log(LevelToLog.Error, e.ToString()); throw; } }
public IAssemblyScanner Load(IPluginRepository repository, ILogMessagesFromRemoteAppDomains logger) { try { var builder = new ContainerBuilder(); { builder.RegisterModule(new SchedulingModule()); builder.Register(c => new PartImportEngine( c.Resolve <ISatisfyPluginRequests>())) .As <IConnectParts>(); builder.RegisterInstance(repository) .As <IPluginRepository>() .As <ISatisfyPluginRequests>(); } var container = builder.Build(); Func <IBuildFixedSchedules> scheduleBuilder = () => container.Resolve <IBuildFixedSchedules>(); return(new RemoteAssemblyScanner( container.Resolve <IPluginRepository>(), container.Resolve <IConnectParts>(), logger, scheduleBuilder)); } catch (Exception e) { logger.Log(LevelToLog.Error, e.ToString()); throw; } }
/// <summary> /// Initializes a new instance of the <see cref="RemoteAssemblyScanner"/> class. /// </summary> /// <param name="repository">The object that stores all the information about the parts and the part groups.</param> /// <param name="importEngine">The object that provides methods for part import matching.</param> /// <param name="logger">The object that passes through the log messages.</param> /// <param name="scheduleBuilder">The function that returns a schedule building object.</param> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="repository"/> is <see langword="null" />. /// </exception> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="importEngine"/> is <see langword="null" />. /// </exception> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="logger"/> is <see langword="null" />. /// </exception> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="scheduleBuilder"/> is <see langword="null" />. /// </exception> public RemoteAssemblyScanner( IPluginRepository repository, IConnectParts importEngine, ILogMessagesFromRemoteAppDomains logger, Func <IBuildFixedSchedules> scheduleBuilder) { { Lokad.Enforce.Argument(() => repository); Lokad.Enforce.Argument(() => importEngine); Lokad.Enforce.Argument(() => logger); Lokad.Enforce.Argument(() => scheduleBuilder); } m_Repository = repository; m_ImportEngine = importEngine; m_Logger = logger; m_ScheduleBuilder = scheduleBuilder; }
/// <summary> /// Initializes a new instance of the <see cref="RemoteAssemblyScanner"/> class. /// </summary> /// <param name="repository">The object that stores all the information about the parts and the part groups.</param> /// <param name="importEngine">The object that provides methods for part import matching.</param> /// <param name="logger">The object that passes through the log messages.</param> /// <param name="scheduleBuilder">The function that returns a schedule building object.</param> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="repository"/> is <see langword="null" />. /// </exception> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="importEngine"/> is <see langword="null" />. /// </exception> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="logger"/> is <see langword="null" />. /// </exception> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="scheduleBuilder"/> is <see langword="null" />. /// </exception> public RemoteAssemblyScanner( IPluginRepository repository, IConnectParts importEngine, ILogMessagesFromRemoteAppDomains logger, Func<IBuildFixedSchedules> scheduleBuilder) { { Lokad.Enforce.Argument(() => repository); Lokad.Enforce.Argument(() => importEngine); Lokad.Enforce.Argument(() => logger); Lokad.Enforce.Argument(() => scheduleBuilder); } m_Repository = repository; m_ImportEngine = importEngine; m_Logger = logger; m_ScheduleBuilder = scheduleBuilder; }