protected override void ConfigureContainer( IContainer container ) { this.CoreConfig = container.Resolve<INGinConfig>(); // create temporary builder for log manager ContainerBuilder builder = new ContainerBuilder(); // register and build log manager first this.ConfigureLogManager( builder ); builder.Build( container ); ILogManager logManager = container.Resolve<ILogManager>(); // log message logManager.Trace( Namespace.LoggerName, LogLevel.Information, "Configuring module: {0}...", typeof( CoreModule ).FullName ); // create new builder for other core components builder = new ContainerBuilder(); // configure core services this.ConfigureConfigManager( builder, logManager ); this.ConfigureDependencyResolver( builder, logManager ); this.ConfigurePluginManager( builder, logManager ); // build to container builder.Build( container ); this.ConfigureCustomConfigDataTypes( container, logManager ); base.ConfigureContainer( container ); }
public ConfigManager(INGinConfig coreConfig, ILogManager logManager ) { // check for null if ( coreConfig == null ) { throw new ArgumentNullException( "The given configuration object must not be null.", "coreConfig" ); } if ( logManager == null ) { throw new ArgumentNullException( "The given log manager must not be null.", "logManager" ); } this.LogManager = logManager; this.Configuration = coreConfig; }
public ModuleLoader( INGinConfig coreConfig ) { this.CoreConfig = coreConfig; }