PLCnext API Documentation 25.0.2.69
ISessionService.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Rsc/Commons/Rsc.hpp"
9#include "Arp/Base/Rsc/Commons/IRscService.hpp"
10#include "Arp/Base/Commons/Security/SecurityToken.hpp"
11#include "Arp/Base/Rsc/Commons/RscString.hxx"
12
13// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY ISessionService.cs
14
16{
17
18using namespace Arp::Base::Rsc::Commons;
19
36class ARP_EXPORT ISessionService : public IRscService
37{
38public: // usings
39 using Ptr = std::shared_ptr<ISessionService>;
40
41public: // construction/destruction
43 ISessionService(void) = default;
44
45public: // static policy operation
46 static IRscServiceProxyFactory& GetProxyFactory(void);
47
48public: // abstract operations
66 virtual boolean GetSessionId(SecurityToken securityToken, RscString<128>& sessionId) = 0;
67
84 virtual boolean GetSecurityTokenFromSessionId(const RscString<128>& sessionId, SecurityToken& securityToken) = 0;
85
104 virtual boolean GetSessionProperty(SecurityToken securityToken, const RscString<128>& key, RscString<128>& value) = 0;
105
122 virtual boolean SetSessionProperty(SecurityToken securityToken, const RscString<128>& key, const RscString<128>& value) = 0;
123
135 virtual boolean DeleteSessionProperty(SecurityToken securityToken, const RscString<128>& key) = 0;
136
150 virtual boolean IsSessionActive(SecurityToken securityToken) = 0;
151
165 virtual int32 RemainingSessionLifetime(SecurityToken securityToken) = 0;
166};
167
168} // end of namespace Arp::System::Um::Services
This class is used for authorization of arbitrary operations.
Definition: SecurityToken.hpp:18
This is the base interface of all Rsc services.
Definition: IRscService.hpp:22
std::shared_ptr< IRscService > Ptr
The shared_ptr type of IRscService.
Definition: IRscService.hpp:25
Interface for service proxy factories to create service proxies used by RSC clients.
Definition: IRscServiceProxyFactory.hpp:22
UserManager Service to retrieve and set session properties like sessionId and extended session inform...
Definition: ISessionService.hpp:37
virtual boolean DeleteSessionProperty(SecurityToken securityToken, const RscString< 128 > &key)=0
Deletes a named property for a Um session. Note: This method must not be called remotely via the RSC...
virtual boolean GetSessionId(SecurityToken securityToken, RscString< 128 > &sessionId)=0
Gets a sessionId (strong security Token) for a UserManager(UM) session, represented by its Ade....
virtual boolean GetSessionProperty(SecurityToken securityToken, const RscString< 128 > &key, RscString< 128 > &value)=0
Read a named property from a UserManager(UM) session. A property is extended information bound to a U...
ISessionService(void)=default
Constructs an ISessionService instance.
virtual int32 RemainingSessionLifetime(SecurityToken securityToken)=0
Returns the remaining session lifetime of the given Um session. Note: This method must not be called...
virtual boolean SetSessionProperty(SecurityToken securityToken, const RscString< 128 > &key, const RscString< 128 > &value)=0
Sets a named property for a Um session. A property is extended information bound to a um session iden...
virtual boolean GetSecurityTokenFromSessionId(const RscString< 128 > &sessionId, SecurityToken &securityToken)=0
Searchs for a UserManager(UM) Session identified by a StrongSecurityToken. If a valid session was fou...
virtual boolean IsSessionActive(SecurityToken securityToken)=0
Check if the um session is active or not. Note: This method must not be called remotely via the RSC-...
std::int32_t int32
The Arp integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:35
Namespace for services of the User Manager (UM)