PLCnext API Documentation 23.6.0.37
ISessionService.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/Security/SecurityToken.hpp"
11#include "Arp/System/Um/Services/SessionServiceProxyFactory.hpp"
12
13// DO NOT MODIFY THIS FILE, THIS FILE IS AUTOGENERATED BY ISessionService.cs
14
15namespace Arp { namespace System { namespace Um { namespace Services
16{
17
18using namespace Arp;
19using namespace Arp::System::Rsc::Services;
20
38{
39public: // typedefs
40 using Ptr = std::shared_ptr<ISessionService>;
41
42public: // construction/destruction
44 ISessionService(void) = default;
45
46public: // static policy operation
47 static IRscServiceProxyFactory& GetProxyFactory(void);
48
49public: // abstract operations
67 virtual boolean GetSessionId(SecurityToken securityToken, RscString<128>& sessionId) = 0;
68
85 virtual boolean GetSecurityTokenFromSessionId(const RscString<128>& sessionId, SecurityToken& securityToken) = 0;
86
105 virtual boolean GetSessionProperty(SecurityToken securityToken, const RscString<128>& key, RscString<128>& value) = 0;
106
123 virtual boolean SetSessionProperty(SecurityToken securityToken, const RscString<128>& key, const RscString<128>& value) = 0;
124
136 virtual boolean DeleteSessionProperty(SecurityToken securityToken, const RscString<128>& key) = 0;
137
151 virtual boolean IsSessionActive(SecurityToken securityToken) = 0;
152};
153
155// inline methods of class ISessionService
156inline IRscServiceProxyFactory& ISessionService::GetProxyFactory()
157{
158 return SessionServiceProxyFactory::GetInstance();
159}
160
161}}}} // end of namespace Arp::System::Um::Services
Base interface for all Rsc service interface.
Definition: IRscService.hpp:20
Definition: SecurityToken.hpp:12
UserManager Service to retrieve and set session properties like sessionId and extended session inform...
Definition: ISessionService.hpp:38
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 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-...
@ System
System components used by the System, Device, Plc or Io domains.
Namespace for classes and interfaces for the Remote Service Call implementation
Root namespace for the PLCnext API