100 inline static const std::string
dns_name =
"dNSName";
120 inline static const std::string
jid =
"jID";
145 creation_date_time(std::chrono::floor<std::chrono::seconds>(std::chrono::utc_clock::now())) {}
Lightweight utilities for NATO confidentiality metadata.
Definition binding.h:38
Identifier for the entity that created or applied the label.
Definition confidentiality_label.h:93
static const std::string uniform_resource_identifier
URI format.
Definition confidentiality_label.h:108
static const std::string x400_address
X.400 address format.
Definition confidentiality_label.h:116
static const std::string jid
Jabber ID format.
Definition confidentiality_label.h:120
static const std::string rfc822_name
RFC 822 (email) address format.
Definition confidentiality_label.h:96
bool operator==(const OriginatorId &) const =default
Default equality operator.
static const std::string user_principal_name
User Principal Name format.
Definition confidentiality_label.h:124
static const std::string dns_name
DNS name format.
Definition confidentiality_label.h:100
std::string id_type
The format type of the identifier (e.g., rfc822Name).
Definition confidentiality_label.h:128
static const std::string ip_address
IP address format.
Definition confidentiality_label.h:112
std::string value
The actual identifier value.
Definition confidentiality_label.h:132
static const std::string directory_name
Directory name format.
Definition confidentiality_label.h:104
ConfidentialityLabel(const ConfidentialityLabel &)=default
Default copy constructor.
bool operator==(const ConfidentialityLabel &) const =default
Default equality operator.
ConfidentialityLabel & operator=(const ConfidentialityLabel &rhs)=default
Default copy assignment operator.
ConfidentialityLabel(const ConfidentialityLabelType label_type=originator)
Overloaded constructor taking the label type as a parameter.
Definition confidentiality_label.h:143
ConfidentialityLabelType
Identifier for the specialisation of the label.
Definition confidentiality_label.h:53
@ successor
<s4774::successorConfidentialityLabel>
Definition confidentiality_label.h:64
@ originator
<s4774::originatorConfidentialityLabel>
Definition confidentiality_label.h:56
@ alternative
<s4774::alternativeConfidentialityLabel>
Definition confidentiality_label.h:60
ConfidentialityLabelType label_type
Field to save having to implement type inheritance.
Definition confidentiality_label.h:161
std::optional< OriginatorId > originator_id
<s4774:OriginatorID>
Definition confidentiality_label.h:169
ConfidentialityInformation confidentiality_information
<s4774:ConfidentialityInformation>
Definition confidentiality_label.h:165
std::chrono::time_point< std::chrono::utc_clock, std::chrono::seconds > creation_date_time
<s4774:CreationDateTime>
Definition confidentiality_label.h:173