Microsoft Information Protection SDK - C++ 1.17
API Reference Documentation for C++
Loading...
Searching...
No Matches
application_action_state.h
Go to the documentation of this file.
1#ifndef UPE_CORE_API_APPLICATION_ACTION_STATE_H_
2#define UPE_CORE_API_APPLICATION_ACTION_STATE_H_
3
4#include <climits>
5#include <map>
6#include <memory>
7#include <utility>
8#include <vector>
9
10#include "mip/common_types.h"
11#include "mip/mip_namespace.h"
12#include "mip/upe/action.h"
13#include "mip/upe/label.h"
14
15MIP_NAMESPACE_BEGIN
16
17enum class LabelState : unsigned int {
18 NoChange, // Specify No change to existing label state.
19 Remove, // Specify Remove existing label.
20 Update, // Update existing label with a new label, GetNewLabel must not be null.
21};
22
26constexpr const int kTimeZoneOffsetLocalTime = INT_MAX;
27
29
30public:
37 virtual LabelState GetNewLabelState() const = 0;
38
44 virtual std::shared_ptr<Label> GetNewLabel() const = 0;
45
52 virtual std::pair<bool, std::string> IsDowngradeJustified() const = 0;
53
61
67 virtual std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() const {
68 return std::vector<std::pair<std::string, std::string>>();
69 }
70
79 virtual ActionType GetSupportedActions() const = 0;
80
89 virtual bool IsRecommendationEnabled() const = 0;
90
96
98 virtual ~ApplicationActionState() { }
99
100protected:
103};
104
105MIP_NAMESPACE_END
106#endif // UPE_CORE_API_APPLICATION_ACTION_STATE_H_
A file containing the Action base class and the ActionType enumerator.
ActionType
Different action types.
Definition action.h:46
LabelState
Definition application_action_state.h:17
constexpr const int kTimeZoneOffsetLocalTime
Return from GetContentTimeZoneUtcOffset() when the machine's local time is to be used as the content'...
Definition application_action_state.h:26
Definition application_action_state.h:28
virtual std::pair< bool, std::string > IsDowngradeJustified() const =0
Implementation should pass if justification to downgrade an existing label was given.
virtual ActionType GetSupportedActions() const =0
Gets a masked enum describing all the supported action types.
virtual int GetContentTimeZoneUtcOffset() const
Return the content's time zone as an offset from UTC, in seconds, or kTimeZoneOffsetLocalTime to use ...
Definition application_action_state.h:95
virtual AssignmentMethod GetNewLabelAssignmentMethod() const =0
Get the new label's assignment method.
virtual std::vector< std::pair< std::string, std::string > > GetNewLabelExtendedProperties() const
Return new label's extended properties.
Definition application_action_state.h:67
virtual std::shared_ptr< Label > GetNewLabel() const =0
Gets the sensitivity label ID that should be applied on the document.
virtual bool IsRecommendationEnabled() const =0
Get a bool that signifying recommend action will return. by default should be true unless user specif...
virtual LabelState GetNewLabelState() const =0
Gets the new label state.
A file Containing the common types used by the upe, file and protection modules.
AssignmentMethod
The assignment method of the label on the document. Whether the Assignment of the label was done auto...
Definition common_types.h:75
This file contains the Label class.
MIP namespace macros.