Microsoft Information Protection (MIP) SDK for C: Reference 1.15
Doxygen-generated documentation for MIP SDK written in C
Loading...
Searching...
No Matches
document_state_cc.h
Go to the documentation of this file.
1/*
2*
3* Copyright (c) Microsoft Corporation.
4* All rights reserved.
5*
6* This code is licensed under the MIT License.
7*
8* Permission is hereby granted, free of charge, to any person obtaining a copy
9* of this software and associated documentation files(the "Software"), to deal
10* in the Software without restriction, including without limitation the rights
11* to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
12* copies of the Software, and to permit persons to whom the Software is
13* furnished to do so, subject to the following conditions :
14*
15* The above copyright notice and this permission notice shall be included in
16* all copies or substantial portions of the Software.
17*
18* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
21* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24* THE SOFTWARE.
25*
26*/
27/**
28* @brief Describes document state when performing a label-related operation
29*
30* @file document_state_cc.h
31*/
32
33#ifndef API_MIP_UPE_DOCUMENT_STATE_CC_H_
34#define API_MIP_UPE_DOCUMENT_STATE_CC_H_
35
40
41/**
42 * @brief Defines the state of the data as an application is acting upon it
43 */
44typedef enum {
45 MIP_DATA_STATE_REST = 0, /**< Inactive data stored physically in databases/file/warehouses */
46 MIP_DATA_STATE_MOTION = 1, /**< Data traversing a network or temporarily residing in computer memory to be read or updated */
47 MIP_DATA_STATE_USE = 2, /**< Active data under constant change stored physically in databases/file/warehouses etc */
49
50/**
51 * @brief Callback function definition for retrieving document metatdata, filtered by name/prefix
52 *
53 * @param names Array of metadata key names to include in result
54 * @param namesSize Number of values in 'names' array
55 * @param namePrefixes Array of metadata key name prefixes to include in result
56 * @param namePrefixesSize Number of values in 'namesPrefixes' array
57 * @param context Application context opaquely passed from API call to callback
58 * @param metadata [Output] Dictionary of metadata key/values, created by client application. This dictionary will be released by MIP.
59 */
60MIP_CC_CALLBACK(mip_cc_metadata_callback /*typename*/,
61 void /*return*/,
62 const char** /*names*/,
63 const int64_t /*namesSize*/,
64 const char** /*namePrefixes*/,
65 const int64_t /*namePrefixesSize*/,
66 const void* /*context*/,
67 mip_cc_metadata_dictionary* /*metadata*/);
68
69/**
70 * @brief Represents the current state of a label-aware document
71 */
72typedef struct {
73 /**
74 * Human-readable document description visible in tenant audit portal
75 * Example for a file: [path\filename]
76 * Example for an email: [Subject:Sender]
77 */
78 const char* contentId;
79
80 /**
81 * State of document data as application interacts with it
82 */
84
85 /**
86 * Document metadata callback
87 */
88 mip_cc_metadata_callback contentMetadataCallback;
89
90 /**
91 * Protection descriptor if document is currently protected, else null
92 */
94
95 /**
96 * Format of document (file vs. email)
97 */
99
100 /**
101 * Optional application-specific metadata that is used when sending audit reports
102 * Recognized values:
103 * 'Sender': Sender email address
104 * 'Recipients': JSON array of email recipients
105 * 'LastModifiedBy': Email address of the user who last modified a document
106 * 'LastModifiedDate': Date a document was last modified
107 */
109
110 /**
111 * Document metadata version, default should be 0.
112 */
114
115 /**
116 * Describes how metadata versioning is processed.
117 */
119
121
122#endif // API_MIP_UPE_DOCUMENT_STATE_CC_H_
A file Containing the common types used by the upe, file and protection modules.
mip_cc_content_format
Content format.
mip_cc_metadata_version_format
Contains C API definitions for common string dictionary.
MIP_CC_CALLBACK(mip_cc_metadata_callback, void, const char **, const int64_t, const char **, const int64_t, const void *, mip_cc_metadata_dictionary *)
Callback function definition for retrieving document metatdata, filtered by name/prefix.
mip_cc_data_state
Defines the state of the data as an application is acting upon it.
@ MIP_DATA_STATE_REST
Inactive data stored physically in databases/file/warehouses.
@ MIP_DATA_STATE_MOTION
Data traversing a network or temporarily residing in computer memory to be read or updated.
@ MIP_DATA_STATE_USE
Active data under constant change stored physically in databases/file/warehouses etc.
Contains C API definitions for a metadata dictionary.
Defines C-Style ProtectionDescriptor interface.
Represents the current state of a label-aware document.
mip_cc_protection_descriptor protectionDescriptor
Protection descriptor if document is currently protected, else null.
uint32_t contentMetadataVersion
Document metadata version, default should be 0.
mip_cc_dictionary auditMetadata
Optional application-specific metadata that is used when sending audit reports Recognized values: 'Se...
mip_cc_data_state dataState
State of document data as application interacts with it.
mip_cc_content_format contentFormat
Format of document (file vs.
mip_cc_metadata_version_format contentMetadataVersionFormat
Describes how metadata versioning is processed.
const char * contentId
Human-readable document description visible in tenant audit portal Example for a file: [path\filename...
mip_cc_metadata_callback contentMetadataCallback
Document metadata callback.
Opaque handle to MIP object.