PLCnext API Documentation 25.0.2.69
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 SecurityToken GetSecurityToken(void)const;
43 RscHandle GetMethodHandle(void)const;
44 const char* GetServiceName(void)const;
45 const char* GetServiceProviderName(void)const;
46
47public: // operations
48 void AbortRequest(RscError errorCode, const char* errorMessage = nullptr);
49 void AbortConnection(RscError errorCode, const char* errorMessage = nullptr);
50 void AbortInvocation(RscError errorCode, const char* errorMessage = nullptr);
51
52public: // internal operations
53 Impl& GetImpl(void);
54 const Impl& GetImpl(void)const;
55
56private: // Impl usings
57 using Pimpl = Impl*;
58
59private: // Impl fields
60 Pimpl pimpl = nullptr;
61};
62
63} // 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.