Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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í pro tyto asynchronní události využívá SDK vzor pozorovatele.
Přehled implementace
Při vytváření objektu, který provede asynchronní operaci, musí být implementována Observer třída. Pozorovatelé obdrží oznámení událostí související s různými asynchronními operacemi v MIP SDK a poskytnou výsledek volajícím.
Funkce v každé Observer třídě jsou virtuální a jsou přepsány pro preferovaný asynchronní model. Sada SDK implementuje vzor pozorovatele oznámení událostí prostřednictvím std::promise a std::future.
Každý pozorovatel specifický pro jednotlivé třídy obsahuje sadu funkcí pro úspěšné a neúspěšné případy výsledku asynchronní operace. Funkce úspěchu vrátí objekt přidružený k operaci. Chyba/Selhání funkce vracejí 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ý engine do profilu pomocí
FileProfile::AddEngineAsync. - Může uvolnit motor 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řiObserver metody přidružené FileProfilek :
FileProfileObserver::OnAddEngineSuccess()FileProfileObserver::OnAddEngineError()FileProfileObserver::OnUnloadEngineSuccess-
FileProfileObserver::OnUnloadEngineError().
Třídy pozorovatele sady MIP SDK
Sada SDK pro soubory MIP obsahuje dva pozorovatele:
mip::FileProfile::Observermip::FileHandler::Observer
Sada MIP Policy SDK má pouze jednoho pozorovatele:
mip::Profile::Observer
Sada MIP Protection SDK má tři pozorovatele:
mip::ProtectionProfile::Observermip::ProtectionEngine::Observermip::ProtectionHandler::Observer
Další kroky
Přečtěte si další informace o tom, jak se pozorovatelé implementují a používají pomocí různých sad SDK: