PLCnext API Documentation 23.6.0.37
IPasswordAuthenticationService.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include "Arp/System/Rsc/Services/IRscService.hpp"
9#include "Arp/System/Rsc/Services/RscString.hxx"
10#include "Arp/System/Rsc/Services/SecureString.hxx"
11#include "Arp/System/Security/SecurityToken.hpp"
12#include "Arp/System/Um/Services/AuthenticationError.hpp"
13#include "Arp/System/Um/Services/ChannelInformation.hpp"
14#include "Arp/System/Um/Services/PasswordAuthenticationServiceProxyFactory.hpp"
15
16// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY IPasswordAuthenticationService.cs
17
18namespace Arp { namespace System { namespace Um { namespace Services
19{
20
21using namespace Arp;
22using namespace Arp::System::Rsc::Services;
23
38{
39public: // typedefs
40 using Ptr = std::shared_ptr<IPasswordAuthenticationService>;
41
42public: // construction/destruction
45
46public: // static policy operation
47 static IRscServiceProxyFactory& GetProxyFactory(void);
48
49public: // abstract operations
91 virtual AuthenticationError CreateSession(const RscString<64>& userName, const SecureString<128>& password, const ChannelInformation& channelInformation, SecurityToken& securityToken, uint32& penaltyDelayMillis, uint32& initialTimeOutMillis) = 0;
92
105 virtual void ProlongSession(SecurityToken securityToken, uint32& newTimeOutMillis) = 0;
106
112 virtual void CloseSession(SecurityToken securityToken) = 0;
113};
114
116// inline methods of class IPasswordAuthenticationService
117inline IRscServiceProxyFactory& IPasswordAuthenticationService::GetProxyFactory()
118{
119 return PasswordAuthenticationServiceProxyFactory::GetInstance();
120}
121
122}}}} // end of namespace Arp::System::Um::Services
Base interface for all Rsc service interface.
Definition: IRscService.hpp:20
Contains a static string with string lentgh up to N characters. The string has to be null terminated.
Definition: RscString.hxx:21
Specialized version of RscString for security context. Not implemented in this version....
Definition: SecureString.hxx:19
Definition: SecurityToken.hpp:12
Describes an external channel at which the authentication of a user was requested.
Definition: ChannelInformation.hpp:44
Create and close sessions at the UserManager.
Definition: IPasswordAuthenticationService.hpp:38
virtual void ProlongSession(SecurityToken securityToken, uint32 &newTimeOutMillis)=0
Prolongs the timeout of the current session (as referenced by the Ade.CommonRemoting....
virtual AuthenticationError CreateSession(const RscString< 64 > &userName, const SecureString< 128 > &password, const ChannelInformation &channelInformation, SecurityToken &securityToken, uint32 &penaltyDelayMillis, uint32 &initialTimeOutMillis)=0
Creates a new Session against the UserManager.
virtual void CloseSession(SecurityToken securityToken)=0
Close the current session (as referenced by the Ade.CommonRemoting.Security.SecurityToken within an e...
IPasswordAuthenticationService(void)=default
Constructs an IPasswordAuthenticationService instance.
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:36
@ System
System components used by the System, Device, Plc or Io domains.
Namespace for classes and interfaces for the Remote Service Call implementation
AuthenticationError
Describes several error codes which can occur during an authentication request.
Definition: AuthenticationError.hpp:19
Root namespace for the PLCnext API