Microsoft Information Protection SDK – Observatörsbegrepp
MIP SDK är utformat för att vara nästan helt asynkront. Till exempel utförs alla åtgärder som resulterar i nätverks- eller fil-I/O asynkront. För att hantera händelsemeddelanden för dessa asynkrona händelser använder SDK:t övervakningsmönstret.
Översikt över implementering
När du skapar ett objekt som ska utföra en asynkron åtgärd måste en Observer
klass implementeras. Observatörer kommer att ta emot aviseringshändelser relaterade till de olika asynkrona åtgärderna i MIP SDK och ge resultatet till anroparen.
Funktioner i varje Observer
klass är virtuella och åsidosättas för det önskade asynkrona mönstret. SDK implementerar mönstret för händelsemeddelandeobservatör via std::promise
och std::future
.
Varje klassspecifik övervakare innehåller en uppsättning funktioner för lyckade och fel/fel för resultatet 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.
Till exempel FileProfile
stöder följande två åtgärder:
- Den kan lägga till en ny motor i profilen via
FileProfile::AddEngineAsync
. - Den kan ta bort en motor från profilen via
FileProfile::UnloadEngineAsync
.
Eftersom två Observer
funktioner implementeras per asynkron åtgärd kan man anta att det finns fyra Observer
metoder som är associerade med FileProfile
:
FileProfileObserver::OnAddEngineSuccess()
FileProfileObserver::OnAddEngineError()
FileProfileObserver::OnUnloadEngineSuccess
FileProfileObserver::OnUnloadEngineError()
.
MIP SDK Observer-klasser
MIP File SDK innehåller två observatörer:
mip::FileProfile::Observer
mip::FileHandler::Observer
MIP Policy SDK har bara en enda 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 observatörer implementeras och används av de olika SDK:erna: