Kit de développement logiciel (SDK) Microsoft Information Protection - Concepts d’observateur
Le SDK MIP est conçu pour être presque entièrement asynchrone. Par exemple, toute opération résultant de l’E/S réseau ou du fichier est effectuée de manière asynchrone. Pour gérer les notifications d’événements pour ces événements asynchrones, le kit de développement logiciel (SDK) utilise le modèle d’observateur.
Vue d’ensemble de l’implémentation
Lors de la construction d’un objet qui effectue une opération asynchrone, une classe Observer
doit être implémentée. Les observateurs recevront les événements de notification liés aux différentes opérations asynchrones dans le kit de développement logiciel (SDK) MIP et fourniront le résultat à l’appelant.
Les fonctions de chaque classe Observer
sont virtuelles et sont remplacées pour le modèle asynchrone préféré. Le kit de développement logiciel (SDK) implémente le modèle d’observateur de notification d’événement via std::promise
et std::future
.
Chaque observateur spécifique à une classe contient un ensemble de fonctions de réussite et d’erreur/échec, pour le résultat d’une opération asynchrone. Les fonctions de réussite retournent l’objet associé à l’opération. Les fonctions d’échec/erreur retournent une exception qui contient des détails sur la raison pour laquelle l’opération a échoué.
Par exemple, FileProfile
prend en charge les deux opérations suivantes :
- Il peut ajouter un nouveau moteur au profil via
FileProfile::AddEngineAsync
. - Il peut décharger un moteur du profil via
FileProfile::UnloadEngineAsync
.
Étant donné que deux Observer
fonctions sont implémentées par opération asynchrone, il peut être supposé qu’il existe quatre Observer
méthodes associées à FileProfile
:
FileProfileObserver::OnAddEngineSuccess()
FileProfileObserver::OnAddEngineError()
FileProfileObserver::OnUnloadEngineSuccess
FileProfileObserver::OnUnloadEngineError()
.
Classes d’observateur du SDK MIP
Le kit de développement logiciel (SDK) File MIP contient deux observateurs :
mip::FileProfile::Observer
mip::FileHandler::Observer
Le SDK Policy MIP n’a qu’un seul observateur :
mip::Profile::Observer
Le SDK Protection MIP a trois observateurs :
mip::ProtectionProfile::Observer
mip::ProtectionEngine::Observer
mip::ProtectionHandler::Observer
Étapes suivantes
Apprenez-en davantage sur la façon dont les observateurs sont implémentés et utilisés par les différents kits SDK :