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 Observer
funciones por operación asincrónica, se puede suponer que hay cuatro Observer
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: