PLCnext API Documentation 25.0.2.69
SecurityContext.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Base/Commons/Security/SecurityToken.hpp"
10
11namespace Arp::Base::Commons::Security
12{
13
24class ARP_EXPORT SecurityContext
25{
26public: // Impl forward declaration
27 class Impl;
28
29public: // construction
30 SecurityContext(Impl& impl);
31
32 // canonical construction/destruction/assignment
33 SecurityContext(const SecurityContext& arg) = delete;
34 SecurityContext(SecurityContext&& arg)noexcept = delete;
35 SecurityContext& operator=(const SecurityContext& arg) = delete;
36 SecurityContext& operator=(SecurityContext&& arg)noexcept = delete;
37 ~SecurityContext(void);
38
39public: // static operations
40 static bool HasCurrent(void);
41 static const SecurityContext& GetCurrent(void);
42
43public: // setter/getter operations
44 const SecurityToken& GetSecurityToken(void)const;
45
46public: // internal operations
47 Impl& GetImpl(void);
48 const Impl& GetImpl(void)const;
49
50private: // Impl usings
51 using Pimpl = Impl*;
52
53private: // Impl fields
54 Pimpl pimpl = nullptr;
55};
56
57} // end of namespace Arp::Base::Commons::Security
This class is an adapter class of the SecurityToken to provide security info into any operations whic...
Definition: SecurityContext.hpp:25
This class is used for authorization of arbitrary operations.
Definition: SecurityToken.hpp:18