Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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::OnUnloadEngineSuccessFileProfileObserver::OnUnloadEngineError()
MIP SDK-observatörsklasser
MIP File SDK innehåller två observatörer:
mip::FileProfile::Observermip::FileHandler::Observer
MIP Policy SDK har en observatör:
mip::Profile::Observer
MIP Protection SDK har tre observatörer:
mip::ProtectionProfile::Observermip::ProtectionEngine::Observermip::ProtectionHandler::Observer
Nästa steg
Läs mer om hur de olika SDK:erna implementerar och använder observatörer: