Exemple #1
0
        public static void FillPlugins(IAppIface app)
        {
            String dir = String.Concat(
                Settings.Server.appDirectory, "\\", Settings.Server.pluginsSubdirectory);

            if (Directory.Exists(dir))
            {
                String[] filenames = Directory.GetFiles(dir, "*.dll");
                foreach (String fname in filenames)
                {
                    AddPlugin(fname);
                }

                // init each
                foreach (clPlugins clpx in plugins)
                {
                    if (clpx.isValid)
                    {
                        clpx.plugin.Init(app);
                        // Console.WriteLine(String.Concat("INIT ", clpx.plugin.Name, " ", app.ToString()));
                    }
                }

                // passing list of the plugins to each
                IPluginIface[] pluginIfaces = new IPluginIface[plugins.Count];

                for (int i = 0; i < plugins.Count; i++)
                {
                    if (plugins[i].isValid)
                    {
                        pluginIfaces[i] = (IPluginIface)plugins[i].plugin;
                    }
                }

                foreach (clPlugins clpx in plugins)
                {
                    if (clpx.isValid)
                    {
                        clpx.plugin.AllThePlugins(pluginIfaces);
                    }
                }
            }
        }
Exemple #2
0
 public void Init(IAppIface appIface)
 {
     mainProgram = appIface;
 }