SDK de Microsoft Information Protection: conceptos del observador

El SDK de MIP es casi completamente asincrónico. Por ejemplo, el SDK realiza cualquier operación que tenga como resultado la E/S de red o archivo de forma asincrónica. Para controlar las notificaciones de eventos de estos eventos asincrónicos, el SDK usa el patrón de observador.

Información general sobre la implementación

Al construir un objeto que realiza una operación asincrónica, implemente una Observer clase . Los observadores reciben los eventos de notificación relacionados con las distintas operaciones asincrónicas en el SDK de MIP y proporcionan el resultado al autor de la llamada.

Puede invalidar las funciones virtuales en cada Observer clase para el patrón asincrónico preferido. El SDK implementa el patrón de observador de notificaciones de eventos mediante std::promise y std::future.

Cada observador específico de cada clase contiene un conjunto de funciones de éxito y de error o fallo para gestionar el resultado de una operación asíncrona. Las funciones success devuelven el objeto asociado a la operación. Las funciones Error/Failure devuelven una excepción que contiene detalles sobre por qué la operación no se realizó correctamente.

Por ejemplo, FileProfile admite las dos operaciones siguientes:

  • Puede agregar un nuevo motor al perfil mediante FileProfile::AddEngineAsync.
  • Puede descargar un motor del perfil mediante FileProfile::UnloadEngineAsync.

Dado que el SDK implementa dos Observer funciones por operación asincrónica, puede suponer que cuatroObserver métodos están asociados a FileProfile:

  • FileProfileObserver::OnAddEngineSuccess()
  • FileProfileObserver::OnAddEngineError()
  • FileProfileObserver::OnUnloadEngineSuccess
  • FileProfileObserver::OnUnloadEngineError()

Clases de observador del SDK de MIP

El SDK de archivos MIP contiene dos observadores:

  • mip::FileProfile::Observer
  • mip::FileHandler::Observer

El SDK de políticas de MIP tiene un observador:

  • mip::Profile::Observer

El SDK de protección de MIP tiene tres observadores:

  • mip::ProtectionProfile::Observer
  • mip::ProtectionEngine::Observer
  • mip::ProtectionHandler::Observer

Pasos siguientes

Más información sobre cómo los diversos SDK implementan y usan observadores: