Microsoft Information Protection (MIP) SDK for C: Reference 1.15
Doxygen-generated documentation for MIP SDK written in C
Loading...
Searching...
No Matches
application_action_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 application state when performing a label-related operation
29*
30* @file application_action_state_cc.h
31*/
32
33#ifndef API_MIP_UPE_APPLICATION_ACTION_STATE_CC_H_
34#define API_MIP_UPE_APPLICATION_ACTION_STATE_CC_H_
35
38#include "mip_cc/upe/label_cc.h"
39
40/**
41 * @brief Describes what the application is trying to do regarding the current label
42 */
43typedef enum {
44 MIP_LABEL_ACTION_STATE_NO_CHANGE = 0, /**< The current label should not change. */
45 MIP_LABEL_ACTION_STATE_REMOVE = 1, /**< The current label should be removed. */
46 MIP_LABEL_ACTION_STATE_UPDATE = 2, /**< The current label should be changed. */
48
49/**
50 * @brief Label-related actions an application understands and supports
51 */
52typedef enum {
53 MIP_LABEL_ACTION_TYPE_ADD_CONTENT_FOOTER = 1 << 0, /**< Add a content footer to the document action type. */
54 MIP_LABEL_ACTION_TYPE_ADD_CONTENT_HEADER = 1 << 1, /**< Add a content header to the document action type. */
55 MIP_LABEL_ACTION_TYPE_ADD_WATERMARK = 1 << 2, /**< Add a water mark to the entire document action type. */
56 MIP_LABEL_ACTION_TYPE_CUSTOM = 1 << 3, /**< A custom defined action type. */
57 MIP_LABEL_ACTION_TYPE_JUSTIFY = 1 << 4, /**< A justify action type. */
58 MIP_LABEL_ACTION_TYPE_METADATA = 1 << 5, /**< A Meta data change action type. */
59 MIP_LABEL_ACTION_TYPE_PROTECT_ADHOC = 1 << 6, /**< A protect by adhoc policy action type. */
60 MIP_LABEL_ACTION_TYPE_PROTECT_BY_TEMPLATE = 1 << 7, /**< A protect by template action type. */
61 MIP_LABEL_ACTION_TYPE_PROTECT_DO_NOT_FORWARD = 1 << 8, /**< A protect by do not forward action type. */
62 MIP_LABEL_ACTION_TYPE_REMOVE_CONTENT_FOOTER = 1 << 9, /**< Remove content footer action type. */
63 MIP_LABEL_ACTION_TYPE_REMOVE_CONTENT_HEADER = 1 << 10, /**< Remove content header action type. */
64 MIP_LABEL_ACTION_TYPE_REMOVE_PROTECTION = 1 << 11, /**< Remove protection action type. */
65 MIP_LABEL_ACTION_TYPE_REMOVE_WATERMARK = 1 << 12, /**< Remove watermarking action type. */
66 MIP_LABEL_ACTION_TYPE_APPLY_LABEL = 1 << 13, /**< Apply label action type. */
67 MIP_LABEL_ACTION_TYPE_RECOMMEND_LABEL = 1 << 14, /**< Recommend label action type. */
68 MIP_LABEL_ACTION_TYPE_PROTECT_ADHOC_DK = 1 << 15, /**< A protect by adhoc policy action type.*/
69 // Reserved
70 MIP_LABEL_ACTION_TYPE_PROTECT_DO_NOT_FORWARD_DK = 1 << 17, /**< A protect by do not forward action type.*/
71 MIP_LABEL_ACTION_TYPE_PROTECT_BY_ENCRYPT_ONLY = 1 << 18, /**< A protect by encryption action type.*/
73
74/**
75 * @brief Represents the current state of the application as it performs a label-related operation
76 */
77typedef struct {
78 mip_cc_label_action_state actionState; /**< Describes if/how an application is attempting to change label state. */
79 mip_cc_label newLabel; /**< If 'actionType' is 'UPDATE': New label. */
80 mip_cc_dictionary newLabelExtendedProperties; /**< If 'actionType' is 'UPDATE': Additional properties to be written to metadata. */
81 mip_cc_label_assignment_method newLabelAssignmentMethod; /**< If 'actionType' is 'UPDATE': The method of assignment of the new label. */
82 bool isDowngradeJustified; /**< If 'actionType' is 'UPDATE': Whether or not a label downgrade has been justified by user. */
83 const char* downgradeJustification; /**< If 'actionType' is 'UPDATE': Label downgrade justification text provided by user. */
84 mip_cc_label_action_type supportedActions; /**< Enum mask describing the label-related actions an application is able to perform. */
86
87#endif // API_MIP_UPE_APPLICATION_ACTION_STATE_CC_H_
mip_cc_label_action_state
Describes what the application is trying to do regarding the current label.
@ MIP_LABEL_ACTION_STATE_REMOVE
The current label should be removed.
@ MIP_LABEL_ACTION_STATE_NO_CHANGE
The current label should not change.
@ MIP_LABEL_ACTION_STATE_UPDATE
The current label should be changed.
mip_cc_label_action_type
Label-related actions an application understands and supports.
@ MIP_LABEL_ACTION_TYPE_APPLY_LABEL
Apply label action type.
@ MIP_LABEL_ACTION_TYPE_PROTECT_ADHOC
A protect by adhoc policy action type.
@ MIP_LABEL_ACTION_TYPE_REMOVE_PROTECTION
Remove protection action type.
@ MIP_LABEL_ACTION_TYPE_RECOMMEND_LABEL
Recommend label action type.
@ MIP_LABEL_ACTION_TYPE_REMOVE_CONTENT_FOOTER
Remove content footer action type.
@ MIP_LABEL_ACTION_TYPE_JUSTIFY
A justify action type.
@ MIP_LABEL_ACTION_TYPE_CUSTOM
A custom defined action type.
@ MIP_LABEL_ACTION_TYPE_PROTECT_DO_NOT_FORWARD
A protect by do not forward action type.
@ MIP_LABEL_ACTION_TYPE_METADATA
A Meta data change action type.
@ MIP_LABEL_ACTION_TYPE_PROTECT_BY_ENCRYPT_ONLY
A protect by encryption action type.
@ MIP_LABEL_ACTION_TYPE_ADD_CONTENT_FOOTER
Add a content footer to the document action type.
@ MIP_LABEL_ACTION_TYPE_PROTECT_BY_TEMPLATE
A protect by template action type.
@ MIP_LABEL_ACTION_TYPE_REMOVE_CONTENT_HEADER
Remove content header action type.
@ MIP_LABEL_ACTION_TYPE_PROTECT_DO_NOT_FORWARD_DK
A protect by do not forward action type.
@ MIP_LABEL_ACTION_TYPE_REMOVE_WATERMARK
Remove watermarking action type.
@ MIP_LABEL_ACTION_TYPE_PROTECT_ADHOC_DK
A protect by adhoc policy action type.
@ MIP_LABEL_ACTION_TYPE_ADD_WATERMARK
Add a water mark to the entire document action type.
@ MIP_LABEL_ACTION_TYPE_ADD_CONTENT_HEADER
Add a content header to the document action type.
A file Containing the common types used by the upe, file and protection modules.
mip_cc_label_assignment_method
Describes how a new label is being applied.
Contains C API definitions for common string dictionary.
Contains C API definitions for label.
Represents the current state of the application as it performs a label-related operation.
mip_cc_label_action_type supportedActions
Enum mask describing the label-related actions an application is able to perform.
mip_cc_label_assignment_method newLabelAssignmentMethod
If 'actionType' is 'UPDATE': The method of assignment of the new label.
bool isDowngradeJustified
If 'actionType' is 'UPDATE': Whether or not a label downgrade has been justified by user.
mip_cc_label newLabel
If 'actionType' is 'UPDATE': New label.
const char * downgradeJustification
If 'actionType' is 'UPDATE': Label downgrade justification text provided by user.
mip_cc_label_action_state actionState
Describes if/how an application is attempting to change label state.
mip_cc_dictionary newLabelExtendedProperties
If 'actionType' is 'UPDATE': Additional properties to be written to metadata.
Opaque handle to MIP object.