public void LoadModules(IKernel kernel)
        {
            //Dependencies
            var rollGenLoader = new RollGenModuleLoader();

            rollGenLoader.LoadModules(kernel);

            //Infrastructure
            var modules = kernel.GetModules();

            if (!modules.Any(m => m is GeneratorsModule))
            {
                kernel.Load <GeneratorsModule>();
            }

            if (!modules.Any(m => m is SelectorsModule))
            {
                kernel.Load <SelectorsModule>();
            }

            if (!modules.Any(m => m is MappersModule))
            {
                kernel.Load <MappersModule>();
            }

            if (!modules.Any(m => m is TablesModule))
            {
                kernel.Load <TablesModule>();
            }
        }
 private static void PrintLoadedModules(IKernel kernel)
 {
     Console.WriteLine("Loaded Ninject Kernel modules:");
     foreach (var module in kernel.GetModules())
         Console.WriteLine("{0}", module.Name);
     Console.WriteLine();
 }
        public void LoadModules(IKernel kernel)
        {
            //Dependencies
            var rollGenLoader = new RollGenModuleLoader();

            rollGenLoader.LoadModules(kernel);

            var infrastructureLoader = new InfrastructureModuleLoader();

            infrastructureLoader.LoadModules(kernel);

            var treasureGenLoader = new TreasureGenModuleLoader();

            treasureGenLoader.LoadModules(kernel);

            //CreatureGen
            var modules = kernel.GetModules();

            if (!modules.Any(m => m is GeneratorsModule))
            {
                kernel.Load <GeneratorsModule>();
            }

            if (!modules.Any(m => m is SelectorsModule))
            {
                kernel.Load <SelectorsModule>();
            }
        }
        /// <summary>
        /// Loads modules from specified assemblies that don't already exist in the kernel.
        /// </summary>
        /// <param name="assemblies">Assemblies that may have INinjectModule implementations.</param>
        public static void LoadIfNotLoaded(this IKernel kernel, IEnumerable <Assembly> assemblies)
        {
            var existingModules = kernel.GetModules();
            var newModules      = assemblies.SelectMany(a => a.GetNinjectModules())
                                  .Where(m => !existingModules.Any(em => em.GetType() == m.GetType()));

            kernel.Load(newModules);
        }
 private static void EnsureModuleIsLoaded <T>(IKernel kernel)
     where T : INinjectModule, new()
 {
     if (!kernel.GetModules().OfType <T>().Any())
     {
         kernel.Load <T>();
     }
 }
Example #6
0
        public Core()
        {
            //init basics
            _kernel = new StandardKernel();
            log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo("Log4Net.config"));
            _log = LogManager.GetLogger(typeof(Core));
            _kernel.Load(AppDomain.CurrentDomain.GetAssemblies());
            _kernel.Bind<ILog>().ToConstant(_log);
            _log.Info(String.Format("Loaded {0} modules...", _kernel.GetModules().Count()));
            _log.Debug(String.Format("Loaded: {0}\n", _kernel.GetModules().Select(x => x.Name + "\n")));

            ObjectLocator.RegisterObject(_kernel);

            ObjectLocator.RegisterObject(_log);
            //init framework
            _siteGraphManager = SiteGraphManager.GetInstance();
        }
        public static void AddModule(NinjectModule module)
        {
            var exists = _ninjectKernel.GetModules().FirstOrDefault(x => x.Name == module.Name);

            if (exists == null)
            {
                _ninjectKernel.Load(module);
            }
        }
Example #8
0
        private static void LoadModules(IKernel kernel)
        {
            var modules = kernel.GetAll <IModule>().Cast <INinjectModule>().ToList();
            var currentlyLoadedModulesNames = kernel.GetModules().Select(el => el.Name).ToList();

            var notLoadedModules = modules.Where(el => !currentlyLoadedModulesNames.Contains(el.Name)).ToList();

            kernel.Load(notLoadedModules);
        }
Example #9
0
        protected IConstructorArgument GetConstructorArgument(string name, object value)
        {
            INinjectModule первый = kernelТекущая.GetModules().FirstOrDefault();

            if (первый != null && первый is ModulForConstructor нужный)
            {
                return(нужный.GetConstructorArgument(name, value));
            }

            throw new ArgumentException("Не найден модуль для конструктора Аргументов");
        }
Example #10
0
        public static void LoadModuleIfNotLoaded(INinjectModule module)
        {
            var modules = _kernel.GetModules();

            if (modules.Any(x => x.GetType() == module.GetType()))
            {
                return;
            }

            _kernel.Load(module);
        }
        public void Release()
        {
            var mods = m_kernel.GetModules()
                       .Where(m => m is IIoCBindings);

            foreach (var m in mods)
            {
                m_kernel.Unload(m.Name);
            }

            m_kernel.Components.Get <ICache>().Clear();
            m_kernel.Dispose();
        }
Example #12
0
        protected override void Configure()
        {
            Kernel = new StandardKernel();

            _logger = ConfigureLogging();

            _logger.LogInformation("Configuring Bootstrapper...");

            Kernel.Load(new CoreModule());
            Kernel.Load(new FrameworkModule());

            foreach (INinjectModule module in Kernel.GetModules())
            {
                _logger.LogInformation($"Loaded kernel module: {module.Name} [{module.GetType().Assembly.FullName}]");
            }

            LoadPlugins();
        }
        public static void load <Loader>(params IParameter[] loaderParams) where Loader : IDynamicLoaderModule
        {
            kernel.Rebind <IDynamicLoaderModule>().To(typeof(Loader)).InSingletonScope();

            bool alreadyLoaded = false;

            foreach (INinjectModule mod in kernel.GetModules())
            {
                if (mod.GetType().Equals(typeof(Loader)))
                {
                    alreadyLoaded = true;
                    break;
                }
            }
            if (!alreadyLoaded)
            {
                kernel.Load(kernel.Get <IDynamicLoaderModule>(loaderParams));
            }
        }
Example #14
0
        protected override void Configure()
        {
            _kernel = new StandardKernel();
            _kernel.Load(Assembly.GetExecutingAssembly());

            if (Directory.Exists(@".\modules"))
            {
                _kernel.Load(@".\modules\*.dll");
            }

            IEnumerable <Assembly> assemblies = _kernel.GetModules()
                                                .Select(module => module.GetType().Assembly)
                                                .Distinct();

            IEnumerable <Assembly> toObserve = assemblies.Except(AssemblySource.Instance);

            AssemblySource.Instance.AddRange(toObserve);

            RegisterApplicationBindings();
        }
Example #15
0
 /// <summary>
 /// Load your modules or register your services here!
 /// </summary>
 /// <param name="kernel">The kernel.</param>
 private static void RegisterServices(IKernel kernel)
 {
     kernel.Load(AppDomain.CurrentDomain.GetAssemblies());
     Debugger.Launch();
     var modules = kernel.GetModules();
 }
Example #16
0
 /// <summary>
 /// Get the injection module for advanced bindings.
 /// You are exposing your code to ninject API here. Beware.
 ///
 /// </summary>
 /// <returns></returns>
 public BotInjectionModule GetImplementation()
 {
     return((BotInjectionModule)resolver.GetModules().FirstOrDefault(x => x is BotInjectionModule));
 }
Example #17
0
 public IEnumerable <INinjectModule> GetLoadedModules()
 {
     return(_kernel.GetModules());
 }