public void Start(List<Guid> sitesInAllProfiles, IViewerPlugin viewer) { lock (_lock_) { if (IsRunning) { throw new Exception("Fetcher is already running"); } this.sitesInAllProfiles = sitesInAllProfiles; this.viewer = viewer; Start(); } }
private static void LoadPlugins(string[] files) { foreach (string file in files) { string filename = Path.GetFullPath(file); if (IsAssembly(filename)) { var plugins = Assembly.LoadFile(filename).GetTypes().Where((t) => typeof(IViewerPlugin).IsAssignableFrom(t) && t.IsClass); foreach (var plugin in plugins) { Logger.Log("Loading Plugin - " + plugin.FullName); IViewerPlugin instance = Activator.CreateInstance(plugin) as IViewerPlugin; Plugins.Add(instance); } } } }
public void Stop() { lock (_lock_) { _Stop(); this.sitesInAllProfiles = null; this.viewer = null; } }