Implementación de ExecutionState

Para calcular una acción basada en el estado actual y el estado deseado, pase información al SDK de MIP mediante la implementación de la mip::ExecutionState clase . Al igual que otras clases del SDK, ExecutionState es una clase abstracta y el desarrollador debe implementarla.

Note

Para obtener un ejemplo completo de una ExecutionState implementación, consulte el siguiente origen de ejemplo:

miembros de mip::ExecutionState

ExecutionState expone los siguientes miembros virtuales. Cada miembro proporciona contexto al motor de directivas para que pueda devolver información sobre qué acciones debe realizar la aplicación. El SDK también puede usar esta información para proporcionar información de auditoría para Microsoft Purview.

Miembro Devoluciones
std::shared_ptr<mip::Label> GetNewLabel() Devuelve la etiqueta que el SDK aplica al objeto .
mip::DataState GetDataState() Devuelve el mip::DataState del objeto.
std::pair<bool, std::string> IsDowngradeJustified() Devuelve un std::pair que expresa si la degradación está justificada y proporciona la justificación.
std::string GetContentIdentifier() Devuelve el identificador de contenido. Use un identificador legible que indique la ubicación del objeto.
std::string GetApplicationScenarioId() Devuelve un identificador que correlaciona los eventos de aplicación con las solicitudes REST del servicio de auditoría o protección correspondientes.
mip::AssignmentMethod GetNewLabelAssignmentMethod() Devuelve el mip::AssignmentMethod de la etiqueta.
std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() Devuelve un std::vector de std::pairs de cadenas que contienen los metadatos personalizados que el SDK aplica al documento.
std::vector<mip::MetadataEntry> GetContentMetadata() Devuelve un std::vector de objetos mip::MetadataEntry que contienen los metadatos de contenido actuales.
std::shared_ptr<mip::ProtectionDescriptor> GetProtectionDescriptor() Devuelve un puntero a un mip::ProtectionDescriptor.
std::string GetContentFormat() Devuelve una cadena.
mip::ActionType GetSupportedActions() Devuelve mip::ActionTypes para la etiqueta.
std::shared_ptr<mip::ClassificationResults> GetClassificationResults() Devuelve una lista de resultados de clasificación, si se implementa.

Sobrescriba cada miembro en una implementación de una clase derivada de mip::ExecutionState. En la aplicación de ejemplo anterior, el ejemplo implementa una estructura denominada ExecutionStateOptions y pasa esa estructura al constructor de la clase derivada.

En el ejemplo se define una estructura denominada ExecutionStateOptions:

struct ExecutionStateOptions {
    std::unordered_map<std::string, std::string> metadata;
    std::string newLabelId;
    std::string contentIdentifier;
    mip::ActionSource actionSource = mip::ActionSource::MANUAL;
    mip::DataState dataState = mip::DataState::USE;
    mip::AssignmentMethod assignmentMethod = mip::AssignmentMethod::STANDARD;
    bool isDowngradeJustified = false;
    std::string downgradeJustification;
    std::string templateId;
    std::string contentFormat = mip::GetFileContentFormat();
    mip::ActionType supportedActions;
    bool generateAuditEvent;
};

Establezca cada propiedad de la aplicación y, a continuación, pase ExecutionStateOptions al constructor de la clase derivada de mip::ExecutionState. El SDK usa esta información para determinar las acciones que se van a realizar. Los informes de auditoría de Microsoft Purview también muestran los datos proporcionados en mip::ExecutionState.

Pasos siguientes