コード例 #1
0
ファイル: Composer.cs プロジェクト: puenktchen/MPExtended
        public void Compose()
        {
            var pluginLoader = new PluginLoader();

            var pluginFinder = new PluginFinder();
            installedPlugins = RegisterExtensions(pluginFinder, pluginLoader, "plugins", true);

            var skinFinder = new SkinFinder();
            installedSkins = RegisterExtensions(skinFinder, pluginLoader, "skins", false);

            controllers = pluginLoader.GetPlugins<IController>();
            compositionDone = true;
        }
コード例 #2
0
        public void Compose()
        {
            var pluginLoader = new PluginLoader();

            var pluginFinder = new PluginFinder();

            installedPlugins = RegisterExtensions(pluginFinder, pluginLoader, "plugins", true);

            var skinFinder = new SkinFinder();

            installedSkins = RegisterExtensions(skinFinder, pluginLoader, "skins", false);

            controllers     = pluginLoader.GetPlugins <IController>();
            compositionDone = true;
        }
コード例 #3
0
ファイル: Composer.cs プロジェクト: WillStefan/MPExtended
        public void Compose()
        {
            AggregateCatalog catalog = new AggregateCatalog();

            var pluginFinder = new PluginFinder();
            RegisterExtensions(pluginFinder, catalog, "plugins");
            installedPlugins = pluginFinder.GetNames().ToList();

            var skinFinder = new SkinFinder();
            RegisterExtensions(skinFinder, catalog, "skins");
            installedSkins = skinFinder.GetNames().ToList();

            var container = new CompositionContainer(catalog);
            controllers = container.GetExports<IController, IDictionary<string, object>>();
            compositionDone = true;
        }
コード例 #4
0
        public void Compose()
        {
            AggregateCatalog catalog = new AggregateCatalog();

            var pluginFinder = new PluginFinder();

            RegisterExtensions(pluginFinder, catalog, "plugins");
            installedPlugins = pluginFinder.GetNames().ToList();

            var skinFinder = new SkinFinder();

            RegisterExtensions(skinFinder, catalog, "skins");
            installedSkins = skinFinder.GetNames().ToList();

            var container = new CompositionContainer(catalog);

            controllers     = container.GetExports <IController, IDictionary <string, object> >();
            compositionDone = true;
        }
コード例 #5
0
        private void Setup()
        {
            ViewDirectories = new List<string>();
            ContentDirectories = new List<string>();

            if (currentSkin != null && Directory.Exists(serverUtility.MapPath(String.Format("~/Skins/{0}", currentSkin))))
                ViewDirectories.Add(String.Format("~/Skins/{0}", currentSkin));
            if (currentSkin != null && Directory.Exists(serverUtility.MapPath(String.Format("~/Skins/{0}/Content", currentSkin))))
                ContentDirectories.Add(String.Format("~/Skins/{0}/Content", currentSkin));

            var pluginFinder = new PluginFinder();
            foreach (var plugin in pluginFinder.GetNames())
            {
                if (Directory.Exists(serverUtility.MapPath(String.Format("~/Plugins/{0}/Views", plugin))))
                    ViewDirectories.Add(String.Format("~/Plugins/{0}/Views", plugin));
                if (Directory.Exists(serverUtility.MapPath(String.Format("~/Plugins/{0}/Content", plugin))))
                    ContentDirectories.Add(String.Format("~/Plugins/{0}/Content", plugin));
            }

            ViewDirectories.Add("~/Views");
            ContentDirectories.Add("~/Content");
        }