public ArchiveImportIPCChannel(IIpcHost host, ICanAcceptFiles importer = null) : base(host) { this.importer = importer; MessageReceived += msg => { Debug.Assert(importer != null); ImportAsync(msg.Path).ContinueWith(t => { if (t.Exception != null) { throw t.Exception; } }, TaskContinuationOptions.OnlyOnFaulted); }; }
/// <summary> /// Unregister a global handler for file imports. /// </summary> /// <param name="handler">The previously registered handler.</param> public void UnregisterImportHandler(ICanAcceptFiles handler) => fileImporters.Remove(handler);
/// <summary> /// Register a global handler for file imports. Most recently registered will have precedence. /// </summary> /// <param name="handler">The handler to register.</param> public void RegisterImportHandler(ICanAcceptFiles handler) => fileImporters.Insert(0, handler);