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 fonctions Observer sont implémentées par opération asynchrone, il peut être supposé qu’il existe quatreObserver 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 :