Microsoft Information Protection SDK - waarnemersconcepten

De MIP SDK is bijna volledig asynchroon. De SDK voert bijvoorbeeld elke bewerking die leidt tot netwerk- of bestands-I/O asynchroon uit. Voor het afhandelen van de gebeurtenismeldingen voor deze asynchrone gebeurtenissen gebruikt de SDK het waarnemerspatroon.

Implementatieoverzicht

Wanneer u een object maakt dat een asynchrone bewerking uitvoert, implementeert u een Observer klasse. Waarnemers ontvangen de meldingsevenementen met betrekking tot de verschillende asynchrone bewerkingen in de MIP SDK en geven het resultaat aan de aanroeper.

U kunt virtuele functies in elke Observer klasse overschrijven voor het asynchrone voorkeurspatroon. De SDK implementeert het waarnemerspatroon voor gebeurtenismeldingen met behulp van std::promise en std::future.

Elke klassespecifieke waarnemer bevat een set succes- en fout-/foutfuncties voor het resultaat van een asynchrone bewerking. Succesfuncties retourneren het object dat is gekoppeld aan de bewerking. Error/Failure functies geven een uitzondering die details geeft over waarom de bewerking is mislukt.

Ondersteunt bijvoorbeeld FileProfile de volgende twee bewerkingen:

  • Er kan een nieuwe engine aan het profiel worden toegevoegd met behulp van FileProfile::AddEngineAsync.
  • U kunt een motor uit het profiel verwijderen met behulp van FileProfile::UnloadEngineAsync.

Omdat de SDK twee Observer functies per asynchrone bewerking implementeert, kunt u ervan uitgaan dat er vierObserver methoden zijn gekoppeld aan FileProfile:

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

Waarnemersklassen voor MIP SDK

De MIP File SDK bevat twee waarnemers:

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

De MIP Policy SDK heeft één waarnemer:

  • mip::Profile::Observer

De MIP Protection SDK heeft drie waarnemers:

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

Volgende stappen 

Meer informatie over hoe de verschillende SDK's waarnemers implementeren en gebruiken: