次の方法で共有


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

MIP SDK は、ほぼ完全に非同期になるように設計されています。 たとえば、ネットワークまたはファイル IO が発生する操作はすべて非同期で実行されます。 これらの非同期イベントのイベント通知を処理するために、SDK はオブザーバー パターンを利用します。

実装の概要

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

Observer クラスの関数は仮想関数であり、優先される非同期パターンに合わせてオーバーライドされます。 SDK は、std::promisestd::future を介してイベント通知オブザーバー パターンを実装します。

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

例として、FileProfile は次の 2 つの操作をサポートします。

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

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

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

MIP SDK オブザーバー クラス

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

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

MIP ポリシー SDK には、単一のオブザーバーのみがあります。

  • mip::Profile::Observer

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

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

次のステップ

オブザーバーが、さまざまな SDK によってどのように実装され、使用されるかについて説明します。