예제 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GroupImportEngine"/> class.
        /// </summary>
        /// <param name="repository">The object that stores information about all the available parts and part groups.</param>
        /// <param name="partImportEngine">The object that matches part imports with part exports.</param>
        /// <exception cref="ArgumentNullException">
        ///     Thrown if <paramref name="repository"/> is <see langword="null" />.
        /// </exception>
        /// <exception cref="ArgumentNullException">
        ///     Thrown if <paramref name="partImportEngine"/> is <see langword="null" />.
        /// </exception>
        public GroupImportEngine(ISatisfyPluginRequests repository, IConnectParts partImportEngine)
        {
            {
                Lokad.Enforce.Argument(() => repository);
                Lokad.Enforce.Argument(() => partImportEngine);
            }

            m_Repository       = repository;
            m_PartImportEngine = partImportEngine;
        }
예제 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GroupImportEngine"/> class.
        /// </summary>
        /// <param name="repository">The object that stores information about all the available parts and part groups.</param>
        /// <param name="partImportEngine">The object that matches part imports with part exports.</param>
        /// <exception cref="ArgumentNullException">
        ///     Thrown if <paramref name="repository"/> is <see langword="null" />.
        /// </exception>
        /// <exception cref="ArgumentNullException">
        ///     Thrown if <paramref name="partImportEngine"/> is <see langword="null" />.
        /// </exception>
        public GroupImportEngine(ISatisfyPluginRequests repository, IConnectParts partImportEngine)
        {
            {
                Lokad.Enforce.Argument(() => repository);
                Lokad.Enforce.Argument(() => partImportEngine);
            }

            m_Repository = repository;
            m_PartImportEngine = partImportEngine;
        }
예제 #3
0
        /// <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;
        }
예제 #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GroupDefinitionBuilder"/> class.
        /// </summary>
        /// <param name="repository">The object that stores information about all the known parts and part groups.</param>
        /// <param name="importEngine">The object that matches part imports with part exports.</param>
        /// <param name="identityGenerator">The function that generates type identity objects.</param>
        /// <param name="builderGenerator">The function that is used to create schedule builders.</param>
        /// <param name="fileInfo">The file info for the assembly that owns the group exporter.</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="identityGenerator"/> is <see langword="null" />.
        /// </exception>
        /// <exception cref="ArgumentNullException">
        ///     Thrown if <paramref name="builderGenerator"/> is <see langword="null" />.
        /// </exception>
        /// <exception cref="ArgumentNullException">
        ///     Thrown if <paramref name="fileInfo"/> is <see langword="null" />.
        /// </exception>
        public GroupDefinitionBuilder(
            IPluginRepository repository,
            IConnectParts importEngine,
            Func <Type, TypeIdentity> identityGenerator,
            Func <IBuildFixedSchedules> builderGenerator,
            PluginFileInfo fileInfo)
        {
            {
                Lokad.Enforce.Argument(() => repository);
                Lokad.Enforce.Argument(() => importEngine);
                Lokad.Enforce.Argument(() => identityGenerator);
                Lokad.Enforce.Argument(() => builderGenerator);
                Lokad.Enforce.Argument(() => fileInfo);
            }

            m_BuilderGenerator  = builderGenerator;
            m_ImportEngine      = importEngine;
            m_IdentityGenerator = identityGenerator;
            m_Repository        = repository;
            m_FileInfo          = fileInfo;
        }
예제 #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GroupDefinitionBuilder"/> class.
        /// </summary>
        /// <param name="repository">The object that stores information about all the known parts and part groups.</param>
        /// <param name="importEngine">The object that matches part imports with part exports.</param>
        /// <param name="identityGenerator">The function that generates type identity objects.</param>
        /// <param name="builderGenerator">The function that is used to create schedule builders.</param>
        /// <param name="fileInfo">The file info for the assembly that owns the group exporter.</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="identityGenerator"/> is <see langword="null" />.
        /// </exception>
        /// <exception cref="ArgumentNullException">
        ///     Thrown if <paramref name="builderGenerator"/> is <see langword="null" />.
        /// </exception>
        /// <exception cref="ArgumentNullException">
        ///     Thrown if <paramref name="fileInfo"/> is <see langword="null" />.
        /// </exception>
        public GroupDefinitionBuilder(
            IPluginRepository repository,
            IConnectParts importEngine,
            Func<Type, TypeIdentity> identityGenerator,
            Func<IBuildFixedSchedules> builderGenerator,
            PluginFileInfo fileInfo)
        {
            {
                Lokad.Enforce.Argument(() => repository);
                Lokad.Enforce.Argument(() => importEngine);
                Lokad.Enforce.Argument(() => identityGenerator);
                Lokad.Enforce.Argument(() => builderGenerator);
                Lokad.Enforce.Argument(() => fileInfo);
            }

            m_BuilderGenerator = builderGenerator;
            m_ImportEngine = importEngine;
            m_IdentityGenerator = identityGenerator;
            m_Repository = repository;
            m_FileInfo = fileInfo;
        }
예제 #6
0
        /// <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;
        }