Strutture

mip_cc_application_info

Struct che include informazioni specifiche dell'applicazione

Campo Descrizione
applicationId Identificatore dell'applicazione impostato nel portale di AAD, ovvero deve essere un GUID senza parentesi quadre.
applicationName Nome applicazione, (deve contenere solo carattere ASCII valido escluso ';')
applicationVersion Versione dell'applicazione usata, (deve contenere solo caratteri ASCII validi esclusi ';')
typedef struct {
  const char* applicationId;      
  const char* applicationName;    
  const char* applicationVersion; 
} mip_cc_application_info;

mip_cc_oauth2_challenge

Informazioni fornite da un server per generare un token OAuth2

Campo Descrizione
authority Autorità OAuth2
Risorsa Risorsa OAuth2
ambito Ambito OAuth2
typedef struct {
  const char* authority; 
  const char* resource;  
  const char* scope;     
} mip_cc_oauth2_challenge;

mip_cc_handle

Handle opaco all'oggetto MIP

Campo Descrizione
Typeid Numero magico che identifica in modo univoco il tipo di handle specifico
data Gestire i dati non elaborati
typedef struct {
  uint32_t typeId; 
  void* data;      
} mip_cc_handle;

mip_cc_guid

GUID

typedef struct {
  char guid[37];
} mip_cc_guid;

mip_cc_kv_pair

Coppia chiave/valore

Campo Descrizione
Key Chiave
Valore Valore
typedef struct {
  const char* key;   
  const char* value; 
} mip_cc_kv_pair;

mip_cc_error

Informazioni sugli errori

typedef struct {
  mip_cc_result result;
  char description[ERROR_STRING_BUFFER_SIZE];

  // MIP_RESULT_ERROR_NETWORK details
  mip_cc_network_error_category networkError_Category;
  int32_t networkError_ResponseCode;

  // MIP_RESULT_ERROR_NO_PERMISSIONS details
  char noPermissionsError_Owner[ERROR_STRING_BUFFER_SIZE];
  char noPermissionsError_Referrer[ERROR_STRING_BUFFER_SIZE];

  // MIP_RESULT_ERROR_SERVICE_DISABLED details
  mip_cc_service_disabled_error_extent serviceDisabledError_Extent;
} mip_cc_error;

mip_cc_http_header

Intestazione di richiesta/risposta HTTP

Campo Descrizione
name Nome intestazione/chiave
Valore Valore intestazione
typedef struct {
  const char* name;  
  const char* value; 
} mip_cc_http_header;

mip_cc_http_request

Richiesta HTTP

Campo Descrizione
id ID richiesta univoco correlato alla stessa proprietà in mip_cc_http_response
tipo Tipo di richiesta HTTP (ad esempio GET vs. POST)
url URL richiesta HTTP
bodySize Dimensioni del corpo della richiesta HTTP in byte
Corpo Corpo della richiesta HTTP di containg del buffer
headersCount Numero di intestazioni di richiesta HTTP
headers Buffer contenente intestazioni di richiesta HTTP
typedef struct {
  const char* id;                    
  mip_cc_http_request_type type;     
  const char* url;                   
  int64_t bodySize;                  
  const uint8_t* body;               
  int64_t headersCount;              
  const mip_cc_http_header* headers; 
} mip_cc_http_request;

mip_cc_http_response

Risposta HTTP

Campo Descrizione
id ID richiesta univoco correlato alla stessa proprietà in mip_cc_http_request
statusCode Codice di stato della risposta HTTP
bodySize Dimensioni del corpo della risposta HTTP in byte
Corpo Corpo della risposta HTTP di containg del buffer
headersCount Numero di intestazioni di risposta HTTP
headers Buffer contenente intestazioni di risposta HTTP
typedef struct {
  const char* id;                    
  int32_t statusCode;                
  int64_t bodySize;                  
  const uint8_t* body;               
  int64_t headersCount;              
  const mip_cc_http_header* headers; 
} mip_cc_http_response;

mip_cc_identity

Struct che contiene informazioni di identificazione utente

Campo Descrizione
email Indirizzo di posta elettronica utente
name Nome descrittivo usato per il contrassegno del contenuto.
typedef struct {
  const char* email;          
  const char* name;           
} mip_cc_identity;

mip_cc_feature_override

Definisce lo stato abilitato/disabilitato di una singola funzionalità

Campo Descrizione
feature Nome funzionalità
Valore Stato abilitato/disabilitato
typedef struct {
  mip_cc_flighting_feature feature; 
  bool value;                       
} mip_cc_feature_override;

mip_cc_user_rights

Un gruppo di utenti e i diritti associati

Campo Descrizione
user Elenco di utenti
usersCount Numero di utenti
diritti Elenco dei diritti
rightsCount Numero di diritti
typedef struct {
  const char** users;  
  int64_t usersCount;  
  const char** rights; 
  int64_t rightsCount; 
} mip_cc_user_rights;

mip_cc_user_roles

Un gruppo di utenti e i ruoli associati

Campo Descrizione
user Elenco di utenti
usersCount Numero di utenti
Ruoli Elenco dei ruoli
rolesCount Numero di ruoli
typedef struct {
  const char** users;  
  int64_t usersCount;  
  const char** roles; 
  int64_t rolesCount; 
} mip_cc_user_roles;

mip_cc_async_task

Definisce una singola richiesta di invio di attività asincrona

Campo Descrizione
id ID attività
delayMs Ritardare l'esecuzione dell'attività (in millisecondi)
executeOnIndependentThread Indica se questa attività deve essere eseguita in un thread completamente indipendente o può riutilizzare un thread condiviso
typedef struct {
  const char* id;                   
  int64_t delayMs;                  
  bool executeOnIndependentThread;  
} mip_cc_async_task;

mip_cc_application_action_state

Rappresenta lo stato corrente dell'applicazione durante l'esecuzione di un'operazione correlata all'etichetta

Campo Descrizione
actionState Descrive se/come un'applicazione tenta di modificare lo stato dell'etichetta.
newLabel Se 'actionType' è 'UPDATE': Nuova etichetta.
newLabelExtendedProperties Se 'actionType' è 'UPDATE': proprietà aggiuntive da scrivere nei metadati.
newLabelAssignmentMethod Se 'actionType' è 'UPDATE': metodo di assegnazione della nuova etichetta.
isDowngradeJustified Se 'actionType' è 'UPDATE': indica se un downgrade dell'etichetta è stato giustificato dall'utente.
downgradeJustification Se 'actionType' è 'UPDATE': il testo di giustificazione del downgrade delle etichette fornito dall'utente.
supportedActions Maschera enumerazione che descrive le azioni correlate all'etichetta che un'applicazione è in grado di eseguire.
typedef struct {
  mip_cc_label_action_state actionState;                    
  mip_cc_label newLabel;                                    
  mip_cc_dictionary newLabelExtendedProperties;             
  mip_cc_label_assignment_method newLabelAssignmentMethod;  
  bool isDowngradeJustified;                                
  const char* downgradeJustification;                       
  mip_cc_label_action_type supportedActions;                
} mip_cc_application_action_state;

mip_cc_document_state

Definizione della funzione di callback per il recupero dei metadati del documento, filtrati in base al nome/prefisso.

Campo Descrizione
dataState Stato dei dati del documento durante l'interazione dell'applicazione.
contentMetadataCallback Callback dei metadati del documento.
protectionDescriptor Descrittore di protezione se il documento è attualmente protetto, altrimenti null.
contentFormat Formato del documento (file e posta elettronica).
auditMetadata Metadati facoltativi specifici dell'applicazione usati durante l'invio di report di controllo. Valori riconosciuti: 'Sender': Indirizzo di posta elettronica del mittente; 'Recipients': matrice JSON di destinatari di posta elettronica; 'LastModifiedBy': Email indirizzo dell'utente che ha modificato un documento per l'ultima volta; 'LastModifiedDate': data dell'ultima modifica di un documento
contentMetadataVersion Versione dei metadati del documento, il valore predefinito deve essere 0.
contentMetadataVersionFormat Descrive come viene elaborato il controllo delle versioni dei metadati.
typedef struct {

  const char* contentId;


  mip_cc_data_state dataState;

  mip_cc_metadata_callback contentMetadataCallback;

  mip_cc_protection_descriptor protectionDescriptor;

  mip_cc_content_format contentFormat;

  mip_cc_dictionary auditMetadata;

  uint32_t contentMetadataVersion;

  mip_cc_metadata_version_format contentMetadataVersionFormat;

} mip_cc_document_state;

mip_cc_metadata_entry

Voce di metadati

Campo Descrizione
Key Immissione chiave
Valore Voce valore
version La voce della versione deve essere inizializzata su 0, se non diversamente noto
typedef struct {
  const char* key;        
  const char* value;      
  uint32_t version;       
} mip_cc_metadata_entry;