Microsoft Information Protection SDK – Koncepty pozorovatelů
Sada MIP SDK je navržená tak, aby byla téměř úplně asynchronní. Například jakákoli operace, která má za následek vstupně-výstupní operace v síti nebo souboru, se provádí asynchronně. K zpracování oznámení událostí pro tyto asynchronní události využívá sada SDK vzor pozorovatele.
Při vytváření objektu, který provede asynchronní operaci, musí být implementována Observer
třída. Pozorovatelé obdrží události oznámení související s různými asynchronními operacemi v sadě MIP SDK a poskytnou výsledek volajícímu.
Funkce v každé Observer
třídě jsou virtuální a přepíše se pro preferovaný asynchronní vzor. Sada SDK implementuje vzor pozorovatele oznámení událostí prostřednictvím std::promise
a std::future
.
Každý pozorovatel specifický pro třídu obsahuje sadu funkcí úspěchu a chyb/selhání pro výsledek asynchronní operace. Funkce úspěchu vrátí objekt přidružený k operaci. Funkce selhání chyby/vrací výjimku, která obsahuje podrobnosti o tom, proč operace nebyla úspěšná.
FileProfile
Například podporuje následující dvě operace:
- Může přidat nový modul do profilu prostřednictvím
FileProfile::AddEngineAsync
. - Může uvolnit modul z profilu prostřednictvím
FileProfile::UnloadEngineAsync
.
Vzhledem k tomu, že jsou na asynchronní operaci implementovány dvě Observer
funkce, lze předpokládat, že existují čtyři Observer
metody přidružené FileProfile
k :
FileProfileObserver::OnAddEngineSuccess()
FileProfileObserver::OnAddEngineError()
FileProfileObserver::OnUnloadEngineSuccess
FileProfileObserver::OnUnloadEngineError()
.
Sada SDK pro soubory MIP obsahuje dva pozorovatele:
mip::FileProfile::Observer
mip::FileHandler::Observer
Sada MIP Policy SDK má pouze jednoho pozorovatele:
mip::Profile::Observer
Sada MIP Protection SDK má tři pozorovatele:
mip::ProtectionProfile::Observer
mip::ProtectionEngine::Observer
mip::ProtectionHandler::Observer
Přečtěte si další informace o tom, jak se pozorovatelé implementují a používají pomocí různých sad SDK: