7#include "Arp/System/Rsc/Services/Rsc.h"
8#include "Arp/System/Rsc/Services/RscReader.hpp"
9#include "Arp/System/Rsc/Services/RscWriter.hpp"
10#include "Arp/System/Rsc/Services/RscChannelInfo.hpp"
11#include "Arp/System/Security/SecurityToken.hpp"
12#include "Arp/System/Security/SecurityContext.hpp"
14namespace CommonRemoting
17class RemotingServerContext;
21namespace Arp {
namespace System {
namespace Security {
namespace Services
24class PasswordConfigurationService2Impl;
25class PasswordAuthenticationServiceImpl;
30namespace Arp {
namespace System {
namespace Rsc {
namespace Services
33using namespace CommonRemoting;
41 friend class Arp::System::Security::Services::PasswordConfigurationService2Impl;
42 friend class Arp::System::Security::Services::PasswordAuthenticationServiceImpl;
50 RscServerContext(RemotingServerContext& remotingServerContext);
52 RscServerContext(
const RscServerContext& arg) =
default;
54 RscServerContext& operator=(
const RscServerContext& arg) =
default;
56 ~RscServerContext(
void);
59 static bool HasCurrent(
void);
60 static RscServerContext& GetCurrent(
void);
63 bool IsSecure(
void)
const;
64 const RscChannelInfo& GetChannelInfo(
void)
const;
70 void AbortRequest(RscErrors errorCode,
const char* errorMessage = NULL);
71 void AbortConnection(RscErrors errorCode,
const char* errorMessage = NULL);
72 void AbortInvocation(RscErrors errorCode,
const char* errorMessage = NULL);
75 bool HasSecurityContext(
void);
81 RemotingServerContext& remotingServerContext;
82 RscChannelInfo channelInfo;
84 SecurityContext securityContext;
89 static thread_local RscServerContext* pCurrentServerContext;
94inline const RscChannelInfo& RscServerContext::GetChannelInfo(
void)
const
96 return this->channelInfo;
99inline RscReader& RscServerContext::GetReader()
101 return this->rscReader;
104inline RscWriter& RscServerContext::GetWriter()
106 return this->rscWriter;
Reads data from Rsc
Definition: RscReader.hpp:26
Writes data to Rsc.
Definition: RscWriter.hpp:31
Definition: SecurityContext.hpp:21
Definition: SecurityToken.hpp:12
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:35
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API