Microsoft Information Protection SDK - オブザーバーの概念

MIP SDK はほぼ完全に非同期です。 たとえば、SDK は、ネットワークまたはファイル I/O を非同期的に実行する操作を実行します。 これらの非同期イベントのイベント通知を処理するために、SDK は オブザーバー パターンを使用します。

実装の概要

非同期操作を実行するオブジェクトを構築する場合は、 Observer クラスを実装します。 オブザーバーは、MIP SDK のさまざまな非同期操作に関連する通知イベントを受け取り、呼び出し元に結果を提供します。

優先される非同期パターンの各 Observer クラスの仮想関数をオーバーライドできます。 SDK は、 std::promise と std::futureを使用してイベント通知オブザーバー パターンを実装します。

各クラス固有のオブザーバーには、非同期操作の結果を処理するための成功関数とエラー/失敗関数のセットが含まれています。 Success 関数は、操作に関連付けられたオブジェクトを返します。 Error/Failure関数は、操作が失敗した理由の詳細を含む例外を返します。

たとえば、 FileProfile では次の 2 つの操作がサポートされます。

  • FileProfile::AddEngineAsyncを使用して、プロファイルに新しいエンジンを追加できます。
  • FileProfile::UnloadEngineAsyncを使用して、プロファイルからエンジンをアンロードできます。

SDK は非同期操作ごとに 2 つの Observer 関数を実装するため、次の 4 つのObserver メソッドが FileProfileに関連付けられていると想定できます。

  • FileProfileObserver::OnAddEngineSuccess()
  • FileProfileObserver::OnAddEngineError()
  • FileProfileObserver::OnUnloadEngineSuccess
  • FileProfileObserver::OnUnloadEngineError()

MIP SDK オブザーバー クラス

MIP ファイル SDK には、2 つのオブザーバー クラスがあります。

  • mip::FileProfile::Observer
  • mip::FileHandler::Observer

MIP Policy SDK には、次の 1 つのオブザーバーがあります。

  • mip::Profile::Observer

MIP 保護 SDK には、3 つのオブザーバー クラスが含まれています。

  • mip::ProtectionProfile::Observer
  • mip::ProtectionEngine::Observer
  • mip::ProtectionHandler::Observer

次のステップ

さまざまな SDK がオブザーバーを実装して使用する方法の詳細を確認します。