public static void UpdateLeanAndComposer(string pluginsPath) { if (string.IsNullOrEmpty(pluginsPath)) { QCPluginUtilities.OutputCommandString("Lean engine path is empty.", QCPluginUtilities.Severity.Error); composer = null; lean = null; return; } if (lean != null && composer != null && pluginsPath == _oldPluginsPath) { return; } _oldPluginsPath = pluginsPath; QCPluginUtilities.OutputCommandString("Started updating Lean engine and composer...", QCPluginUtilities.Severity.Info); AppDomain.CurrentDomain.SetData("APPBASE", pluginsPath); Environment.CurrentDirectory = pluginsPath; QCPluginUtilities.OutputCommandString("Using ApplicationDomain: " + AppDomain.CurrentDomain.BaseDirectory, QCPluginUtilities.Severity.Info); lean = new LeanProxy(); if (!string.IsNullOrEmpty(pluginsPath)) { lean.LoadLibraries(pluginsPath); var objVal = QCPluginUtilities.dte.Properties["QuantConnect Client", "General"].Item("PluginDirectory").Value; lean.SetConfiguration("plugin-directory", (string)objVal); } composer = lean.CreateComposer(); QCPluginUtilities.OutputCommandString("Finished updating Lean engine and composer...", QCPluginUtilities.Severity.Info); }
public static void ResetLeanAndComposer() { lean = null; composer = null; }