Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zestaw MIP SDK został zaprojektowany tak, aby był niemal całkowicie asynchroniczny. Na przykład każda operacja skutkująca operacjami wejścia/wyjścia sieci lub plików jest wykonywana asynchronicznie. Aby obsługiwać powiadomienia o zdarzeniach dla tych zdarzeń asynchronicznych, zestaw SDK korzysta ze wzorca obserwatora.
Omówienie implementacji
Podczas konstruowania obiektu, który będzie wykonywać operację asynchroniczną, należy zaimplementować klasę Observer
. Obserwatorzy otrzymają zdarzenia powiadomień związane z różnymi operacjami asynchronicznymi w pakiecie MIP SDK, i dostarczą wynik do wywołującego.
Funkcje w każdej Observer
klasie są wirtualne i są zastępowane dla preferowanego wzorca asynchronicznego. Zestaw SDK implementuje wzorzec obserwatora powiadomień o zdarzeniach za pomocą poleceń std::promise
i std::future
.
Każdy obserwator specyficzny dla klasy zawiera zestaw funkcji powodzenia i błędu/niepowodzenia dla wyniku operacji asynchronicznych. Funkcje powodzenia zwracają obiekt skojarzony z operacją. Funkcje błędów/ zwracają wyjątek zawierający szczegółowe informacje o tym, dlaczego operacja zakończyła się niepowodzeniem.
Na przykład FileProfile
obsługuje następujące dwie operacje:
- Można dodać nowy silnik do profilu za pomocą
FileProfile::AddEngineAsync
. - Może rozładować silnik z profilu za pomocą
FileProfile::UnloadEngineAsync
.
Ponieważ dwie Observer
funkcje są implementowane na operację asynchroniczną, można założyć, że istnieją czteryObserver
metody skojarzone z FileProfile
:
FileProfileObserver::OnAddEngineSuccess()
FileProfileObserver::OnAddEngineError()
FileProfileObserver::OnUnloadEngineSuccess
-
FileProfileObserver::OnUnloadEngineError()
.
Klasy obserwatorów zestawu MIP SDK
Zestaw SDK pliku MIP zawiera dwóch obserwatorów:
mip::FileProfile::Observer
mip::FileHandler::Observer
Zestaw SDK MIP Policy ma tylko jednego obserwatora.
mip::Profile::Observer
Zestaw MIP Protection SDK ma trzech obserwatorów:
mip::ProtectionProfile::Observer
mip::ProtectionEngine::Observer
mip::ProtectionHandler::Observer
Następne kroki
Dowiedz się więcej o tym, jak obserwatorzy są implementowane i używane przez różne zestawy SDK: