7#ifndef ARP_USE_ARP_SYSTEM_SECURITY
8#include "Arp/Base/Commons/Security/SecurityContext.hpp"
15namespace Arp {
namespace System {
namespace Security
18class ARP_EXPORT SecurityToken
24 const static Value None = 0;
25 const static size_t Size =
sizeof(Value);
28 SecurityToken(Value value = None);
29 SecurityToken(
const SecurityToken& arg);
30 SecurityToken(SecurityToken&& arg) =
default;
31 SecurityToken& operator=(
const SecurityToken& arg);
32 SecurityToken& operator=(SecurityToken&& arg) =
default;
33 ~SecurityToken() =
default;
36 friend bool operator<(
const SecurityToken& lhs,
const SecurityToken& rhs);
37 friend bool operator==(
const SecurityToken& lhs,
const SecurityToken& rhs);
40 bool HasValue(
void)
const;
41 Value GetValue(
void)
const;
44 String ToString(
void)
const;
57inline SecurityToken::SecurityToken(
const SecurityToken& arg)
62inline SecurityToken& SecurityToken::operator=(
const SecurityToken& arg)
64 this->value = arg.value;
68inline bool SecurityToken::HasValue()
const
70 return this->value != None;
73inline SecurityToken::Value SecurityToken::GetValue()
const
80inline bool operator<(
const SecurityToken& lhs,
const SecurityToken& rhs)
82 return lhs.GetValue() < rhs.GetValue();
85inline bool operator==(
const SecurityToken& lhs,
const SecurityToken& rhs)
87 return lhs.GetValue() == rhs.GetValue();
This class is used for authorization of arbitrary operations.
Definition: SecurityToken.hpp:18
SecurityToken(Value value=GetNone())
Constructs a SecurityToken instance.
Definition: SecurityToken.cpp:55
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33
Namepsace for classes used in the RSC security implementation
Root namespace for the PLCnext API