Microsoft Information Protection SDK – observatörsbegrepp

MIP SDK är nästan helt asynkront. SDK utför till exempel alla åtgärder som resulterar i nätverks- eller fil-I/O asynkront. För att hantera händelsemeddelandena för dessa asynkrona händelser använder SDK:t övervakningsmönstret.

Översikt över implementering

När du skapar ett objekt som utför en asynkron åtgärd implementerar du en Observer klass. Observatörer får meddelandehändelser relaterade till de olika asynkrona åtgärderna i MIP SDK och ger resultatet till anroparen.

Du kan åsidosätta virtuella funktioner i varje Observer klass för det önskade asynkrona mönstret. SDK:n implementerar observatörsmönstret för händelseaviseringar med hjälp av std::promise och std::future.

Varje klasspecifik observatör innehåller en uppsättning funktioner för framgång och fel/misslyckande för utfallet av en asynkron åtgärd. Framgångsfunktioner returnerar objektet som är associerat med åtgärden. Felfunktionerna/ returnerar ett undantag som innehåller information om varför åtgärden misslyckades.

Stöder till exempel FileProfile följande två åtgärder:

  • Den kan lägga till en ny motor i profilen med hjälp av FileProfile::AddEngineAsync.
  • Den kan ta bort en motor från profilen med hjälp av FileProfile::UnloadEngineAsync.

Eftersom SDK implementerar två Observer funktioner per asynkron åtgärd kan du anta att fyraObserver metoder är associerade med FileProfile:

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

MIP SDK-observatörsklasser

MIP File SDK innehåller två observatörer:

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

MIP Policy SDK har en observatör:

  • mip::Profile::Observer

MIP Protection SDK har tre observatörer:

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

Nästa steg

Läs mer om hur de olika SDK:erna implementerar och använder observatörer: