ClearCanvas.Common.PluginManager.LoadPluginInfo C# (CSharp) Method

LoadPluginInfo() private method

private LoadPluginInfo ( ) : void
return void
		private void LoadPluginInfo()
		{
			if (!Directory.Exists(_pluginDir))
				throw new PluginException(SR.ExceptionPluginDirectoryNotFound);

			_plugins.AddRange(_loader.LoadPluginInfo());

			// If no plugins were loaded, nothing else to do
			if (_plugins.Count == 0)
				return;

			// compile lists of all extension points and extensions
			var extensions = new List<ExtensionInfo>(_plugins.SelectMany(p => p.Extensions));
			var points = new List<ExtensionPointInfo>(_plugins.SelectMany(p => p.ExtensionPoints));

			// hack: add points and extensions from ClearCanvas.Common, which isn't technically a plugin
			PluginInfo.DiscoverExtensionPointsAndExtensions(GetType().Assembly, points, extensions);

			// #742: order the extensions according to the XML configuration
			var ordered = ExtensionSettings.Default.OrderExtensions(extensions);

			// create global extension list
			_extensions.AddRange(ordered);

			// points do not need to be ordered
			_extensionPoints.AddRange(points);

			_pluginsLoaded = true;
		}