PLCnext API Documentation 25.0.2.69
SecurityToken.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Core/PimplPtr.hxx"
9
10namespace Arp::Base::Commons::Security
11{
12
17class ARP_EXPORT SecurityToken
18{
19public: // Impl forward declaration
20 class Impl;
21
22public: // usings
23 using Value = uint32;
24
25public: // construction
26 SecurityToken(Value value = GetNone());
27 // canonical construction/destruction/assignment
33
34public: // global operators
35 ARP_EXPORT friend bool operator<(const SecurityToken& lhs, const SecurityToken& rhs);
36 ARP_EXPORT friend bool operator==(const SecurityToken& lhs, const SecurityToken& rhs);
37
38public: // static operations
39 static Value GetNone(void);
40 static size_t GetSize(void);
41
42public: // setter/getter operations
43 bool HasValue(void)const;
44 Value GetValue(void)const;
45
46public: // operations
47 String ToString(void)const;
48
49public: // internal operations
50 Impl& GetImpl(void);
51 const Impl& GetImpl(void)const;
52
53private: // Impl usings
55
56private: // Impl fields
57 Pimpl pimpl;
58};
59
60} // end of namespace Arp::Base::Commons::Security
This class is used for authorization of arbitrary operations.
Definition: SecurityToken.hpp:18
~SecurityToken(void)
The default destructor.
SecurityToken(const SecurityToken &arg)
The default copy constructor.
SecurityToken & operator=(const SecurityToken &arg)
THe default copy-assignment operator.
SecurityToken(SecurityToken &&arg) noexcept
The default move constructor.
SecurityToken & operator=(SecurityToken &&arg) noexcept
The default move-assignment operator.
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33