PLCnext API Documentation 26.0.1.58
RscServerContext.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#include "Arp/Base/Rsc/Commons/Rsc.hpp"
11#include "Arp/Base/Rsc/Commons/RscError.hpp"
12#include "Arp/Base/Rsc/Commons/Services/RscContext.hpp"
13
14// Imports
16
17namespace Arp::Base::Rsc::Commons::Services
18{
19
24class ARP_EXPORT RscServerContext : public RscContext
25{
26public: // Impl forward declaration
27 class Impl;
28
29public: // construction
30 RscServerContext(Impl& impl, RscContext::Impl& implBase);
31
32 // canonical construction/destruction/assignment
33 RscServerContext(const RscServerContext& arg) = delete;
35 RscServerContext& operator=(const RscServerContext& arg) = delete;
38
39public: // setter/getter operations
40 bool IsSecure(void)const;
41 bool HasSecurity(void)const;
42 bool IsServiceCallAuthorizedYet(void)const;
43 SecurityToken GetSecurityToken(void)const;
44 RscHandle GetMethodHandle(void)const;
45 const char* GetServiceName(void)const;
46 const char* GetServiceProviderName(void)const;
47
48public: // operations
49 void AbortRequest(RscError errorCode, const char* errorMessage = nullptr);
50 void AbortConnection(RscError errorCode, const char* errorMessage = nullptr);
51 void AbortInvocation(RscError errorCode, const char* errorMessage = nullptr);
52
53public: // internal operations
54 Impl& GetImpl(void);
55 const Impl& GetImpl(void)const;
56
57private: // Impl usings
58 using Pimpl = Impl*;
59
60private: // Impl fields
61 Pimpl pimpl = nullptr;
62};
63
64} // end of namespace Arp::Base::Rsc::Commons::Services
This class is used for authorization of arbitrary operations.
Definition: SecurityToken.hpp:18
This class provides RSC reader and writer of the actual connection.
Definition: RscContext.hpp:22
This class provides RSC session infos and the actual service invocation infos.
Definition: RscServerContext.hpp:25
RscServerContext & operator=(RscServerContext &&arg) noexcept
The default move-assignment operator.
RscServerContext(RscServerContext &&arg) noexcept
The default move constructor.