プラグイン関係のインターフェース定義部分を別ファイルに分割した
UIに通知メッセージを表示するためのメソッドを追加した

UIで通知メッセージを表示できるようにIUserInterfacePluginインターフェースとそのメソッドを追加した。
通知メッセージを表示する時にはPeerCastApplication.PluginsからIUserInterfacePluginを持つ物を検索して呼び出す必要がある。
Windows.Forms版GUIで通知メッセージを表示できるようにした。

PeerCastStation.GUIでIUserInterfacePluginを実装して通知メッセージを表示できるようにした。
WPF版GUIでも通知メッセージを表示できるようにした

WPF版GUIでも通知メッセージを表示できるようにIUserInterfacePluginを実装した。
NotificationMessageType.NoneをNormalに変更した

通知メッセージタイプが無しという名前はおかしいので、NotificationMessageType.NoneをNormalに変更した。
HTTP UIでの通知メッセージ表示を追加した

HTTP UIでも通知メッセージを表示できるようにした。
消すのは手動で行う必要がある。
ServerSentEventsなどでサーバからの通知を受ける形にできるのが理想だが大変なので、いまのところは1秒毎のポーリングでメッセージ取得を行っている。
プラグインのStart・Stopと別にプラグインの追加と削除タイミングで呼ばれるAttach・Detachメソッドを追加した

IPlugin.Startは設定ファイルの読み込み後に呼ばれるため、設定ファイル読み込み時点で必要なYellowPageFactoryなどを追加するには遅すぎた。
またStartでUIも起動してしまうのでUI起動前に確実に追加しておくべきクラスを指定するのが難しかった。
このため設定ファイル読み込み前にファクトリの追加などを行なうIPlugin.Attachを追加して、だいたいのプラグインはこのタイミングで処理をするようにした。
また対としてStop後設定保存してから呼ばれるIPlugin.Detachも追加しておいた。