Implementar ExecutionState

Para calcular uma ação com base no estado atual e no estado desejado, passe informações para o SDK do MIP implementando a mip::ExecutionState classe. Assim como outras classes no SDK, ExecutionState é uma classe abstrata e o desenvolvedor deve implementá-la.

Note

Para obter um exemplo completo de uma implementação ExecutionState , consulte a seguinte fonte de exemplo:

mip::ExecutionState members

ExecutionState expõe os seguintes membros virtuais. Cada membro fornece contexto ao mecanismo de política para que ele possa retornar informações sobre quais ações o aplicativo deve executar. O SDK também pode usar essas informações para fornecer informações de auditoria para Microsoft Purview.

Membro Devoluções
std::shared_ptr<mip::Label> GetNewLabel() Retorna o rótulo que o SDK aplica ao objeto.
mip::DataState GetDataState() Retorna o mip::DataState do objeto.
std::pair<bool, std::string> IsDowngradeJustified() Retorna um std::pair que expressa se o downgrade é justificado e a justificativa.
std::string GetContentIdentifier() Retorna o identificador de conteúdo. Use um identificador legível por humanos que indique o local do objeto.
std::string GetApplicationScenarioId() Retorna um identificador que correlaciona eventos de aplicativo com as solicitações REST do serviço de auditoria ou proteção correspondentes.
mip::AssignmentMethod GetNewLabelAssignmentMethod() Retorna o mip::AssignmentMethod do rótulo.
std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() Retorna um std::vector de std::pairs de strings contendo os metadados personalizados que o SDK aplica ao documento.
std::vector<mip::MetadataEntry> GetContentMetadata() Retorna um std::vector de objetos mip::MetadataEntry que contêm os metadados atuais do conteúdo.
std::shared_ptr<mip::ProtectionDescriptor> GetProtectionDescriptor() Retorna um ponteiro para um mip::ProtectionDescriptor.
std::string GetContentFormat() Retorna uma cadeia de caracteres.
mip::ActionType GetSupportedActions() Retorna mip::ActionTypes para o rótulo.
std::shared_ptr<mip::ClassificationResults> GetClassificationResults() Retorna uma lista de resultados de classificação, se implementada.

Substitua cada membro em uma implementação de uma classe derivada de mip::ExecutionState. No aplicativo de exemplo anterior, o exemplo implementa um struct chamado ExecutionStateOptions e passa esse struct para o construtor da classe derivada.

O exemplo define um struct chamado 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;
};

Defina cada propriedade no aplicativo e, em seguida, passe ExecutionStateOptions para o construtor da classe derivada de mip::ExecutionState. O SDK usa essas informações para determinar as ações a serem executadas. Os relatórios de auditoria do Microsoft Purview também mostram dados fornecidos em mip::ExecutionState.

Próximas Etapas