nsmsgs.exeは主に以下の機能を実現します.
このうち,サービスとイベントの管理は表2.5.1[システムモジュールの提供する関数]に示したシステム関数によって行われ,プラグインの管理およびコネクションとセッションの管理はサービスによって行われます.
システムモジュールは,起動時に規定のフォルダに含まれるプラグインを検索し,読み込みます.その際,各プラグインのGetPluginInfo関数を実行し,APIバージョンとモジュール名を調べ,システムモジュールがサポートしていないAPIバージョンや,不正なモジュール名の場合には読み込みを中止します.
読み込まれたプラグインについては,Initialize関数が実行され,初期化が行われます.全てのプラグインの初期化が終了したところで,モジュールの読み込み終了イベントが通知されます.また,システムモジュール終了時には,読み込まれている全てのプラグインのTerminate関数を実行します.
インスタント・メッセンジャー・クライアントの実現を容易にするために,システムモジュールにはコネクションとセッションの管理機能が含まれています.
コネクションはインスタント・メッセンジャー・クライアントで言うところのメンバリストを管理する単位です.プラグインは同時に複数のコネクションを生成することができます.1つのコネクションにつき,表4.3.1[メンバリストの種類]の4種類のメンバリストが管理されます.
種類 | 機能 |
---|---|
コンタクトリスト | 通常のメンバのリストです |
対向リスト | コネクションを所有しているユーザ自身をコンタクトリストに含めているメンバのリスト |
禁止リスト | 明示的に禁止しているメンバのリスト |
許可リスト | 明示的に許可しているメンバのリスト |
セッションはインスタント・メッセンジャー・クライアントで言うところの会話を管理する単位です.セッションはコネクションに属しており,1つのコネクションが複数のセッションを有することができます.