SDK de Microsoft Information Protection: Conceptos del observador

El SDK de MIP está diseñado para ser casi completamente asincrónico. Por ejemplo, cualquier operación que genere entradas o salidas de red o archivo se realiza 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 realizará una operación asincrónica, se debe implementar una clase Observer. Los observadores recibirán los eventos de notificación relacionados con las distintas operaciones asincrónicas en el SDK de MIP y proporcionarán el resultado al autor de llamada.

Las funciones de cada clase Observer son virtuales y se reemplazan para el patrón asincrónico preferido. El SDK implementa el patrón de observador de notificaciones de eventos a través de std::promise y std::future.

Cada observador específico de clase contiene un conjunto de funciones success y error/failure, para el resultado de una operación asincrónica. 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 a través de FileProfile::AddEngineAsync.
  • Puede descargar un motor desde el perfil a través de FileProfile::UnloadEngineAsync.

Dado que se implementan dos funciones Observer por operación asincrónica, se puede suponer que hay cuatroObserver métodos asociados a FileProfile:

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

Clases de observador del SDK de MIP

El SDK de archivos de MIP contiene dos observadores:

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

El SDK de directivas de MIP tiene solo 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

Obtenga más información sobre cómo los distintos SDK implementan y usan los observadores: