public PluginContainer( IInternalPluginHost pluginHost, IORegistry ioRegistry, CompositionContainer parentContainer, Type pluginType, INodeInfo nodeInfo ) { FIOFactory = new IOFactory(pluginHost, ioRegistry); var catalog = new TypeCatalog(pluginType); var ioExportProvider = new IOExportProvider(FIOFactory); var hostExportProvider = new HostExportProvider() { PluginHost = pluginHost }; var exportProviders = new ExportProvider[] { hostExportProvider, ioExportProvider, parentContainer }; FContainer = new CompositionContainer(catalog, exportProviders); FContainer.ComposeParts(this); FPlugin = PluginBase as IPluginEvaluate; FAutoEvaluate = nodeInfo.AutoEvaluate; FIOFactory.OnCreated(EventArgs.Empty); }
public EditorFactory(CompositionContainer parentContainer, ILogger logger, IHDEHost hdeHost) { FHostExportProvider = new HostExportProvider(); FExportProviders = new ExportProvider[] { parentContainer, FHostExportProvider }; FNodeInfos = new Dictionary <INodeInfo, ExportFactory <IEditor, IEditorInfo> >(); FExportLifetimeContexts = new Dictionary <IInternalPluginHost, ExportLifetimeContext <IEditor> >(); FNodeInfoExports = new List <ExportFactory <IEditor, IEditorInfo> >(); FLogger = logger; FHDEHost = hdeHost; FMoveToLine = -1; FMoveToColumn = -1; FHDEHost.MouseDown += HandleMouseDown; }