Microsoft Information Protection SDK - C++ 1.17
API Reference Documentation for C++
Loading...
Searching...
No Matches
condition_data.h
Go to the documentation of this file.
1#ifndef UPE_CORE_API_DTO_CONDITION_DATA_H_
2#define UPE_CORE_API_DTO_CONDITION_DATA_H_
3
4#include <map>
5#include <memory>
6#include <string>
7#include <vector>
8
9#include "mip/mip_namespace.h"
11
12MIP_NAMESPACE_BEGIN
13
15 Default, // Or, Not, And, ApplyLabel, True, False
16 Sensitivity, // "containsClassification"
17};
18
20public:
21 // Function Used by core
22 virtual ConditionDataType GetType() const = 0;
23 virtual const std::string& GetName() const = 0;
24 virtual const std::map<std::string, std::string, CaseInsensitiveComparator>& GetProperties() const = 0;
25 virtual const std::vector<std::unique_ptr<ConditionData>>& GetSubConditionsData() const = 0;
26 virtual bool HasKeyValueEntries() const = 0;
27 virtual const std::vector<std::pair<std::string, std::string>>& GetKeyValueEntries() const = 0;
28 virtual bool HasClassificationData() const = 0;
29 virtual const std::shared_ptr<ClassificationData>& GetClassificationData() const = 0;
30 // Function used by parser.
31 virtual void SetName(const std::string& name) = 0;
32 virtual void SetProperties(std::map<std::string, std::string, CaseInsensitiveComparator>& properties) = 0;
33 virtual void SetSubConditionsData(std::vector<std::unique_ptr<ConditionData>>& subConditionData) = 0;
34 virtual void AddKeyValueEntry(const std::vector<std::pair<std::string, std::string>>& keyValueEntry) = 0;
35 virtual void AddSubCondition(std::unique_ptr<ConditionData> condition) = 0;
36 virtual void AddTextEntry(const std::string& textEntry) = 0;
37 virtual void SetKeyValueEntries(std::vector<std::pair<std::string, std::string>>& keyValueEntries) = 0;
38 virtual void AddClassificationData(std::unique_ptr<ClassificationData> classificationData) = 0;
39 virtual ~ConditionData() {}
40};
41
42MIP_NAMESPACE_END
43
44#endif // UPE_CORE_API_DTO_CONDITION_DATA_H_
Definition condition_data.h:19
virtual void AddClassificationData(std::unique_ptr< ClassificationData > classificationData)=0
virtual const std::string & GetName() const =0
virtual ConditionDataType GetType() const =0
virtual void SetProperties(std::map< std::string, std::string, CaseInsensitiveComparator > &properties)=0
virtual bool HasClassificationData() const =0
virtual bool HasKeyValueEntries() const =0
virtual void SetSubConditionsData(std::vector< std::unique_ptr< ConditionData > > &subConditionData)=0
virtual void AddSubCondition(std::unique_ptr< ConditionData > condition)=0
virtual const std::map< std::string, std::string, CaseInsensitiveComparator > & GetProperties() const =0
virtual const std::shared_ptr< ClassificationData > & GetClassificationData() const =0
virtual const std::vector< std::pair< std::string, std::string > > & GetKeyValueEntries() const =0
virtual void AddTextEntry(const std::string &textEntry)=0
virtual const std::vector< std::unique_ptr< ConditionData > > & GetSubConditionsData() const =0
virtual void SetKeyValueEntries(std::vector< std::pair< std::string, std::string > > &keyValueEntries)=0
virtual ~ConditionData()
Definition condition_data.h:39
virtual void AddKeyValueEntry(const std::vector< std::pair< std::string, std::string > > &keyValueEntry)=0
virtual void SetName(const std::string &name)=0
ConditionDataType
Definition condition_data.h:14
MIP namespace macros.