PLCnext API Documentation 23.3.0.32
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
35{
36public: // typedefs
37 using Ptr = std::shared_ptr<ISessionService>;
38
39public: // construction/destruction
41 ISessionService(void) = default;
42
43public: // static policy operation
44 static IRscServiceProxyFactory& GetProxyFactory(void);
45
46public: // abstract operations
64 virtual boolean GetSessionId(SecurityToken securityToken, RscString<128>& sessionId) = 0;
65
82 virtual boolean GetSecurityTokenFromSessionId(const RscString<128>& sessionId, SecurityToken& securityToken) = 0;
83
102 virtual boolean GetSessionProperty(SecurityToken securityToken, const RscString<128>& key, RscString<128>& value) = 0;
103
120 virtual boolean SetSessionProperty(SecurityToken securityToken, const RscString<128>& key, const RscString<128>& value) = 0;
121
133 virtual boolean DeleteSessionProperty(SecurityToken securityToken, const RscString<128>& key) = 0;
134
148 virtual boolean IsSessionActive(SecurityToken securityToken) = 0;
149};
150
152// inline methods of class ISessionService
153inline IRscServiceProxyFactory& ISessionService::GetProxyFactory()
154{
155 return SessionServiceProxyFactory::GetInstance();
156}
157
158}}}} // end of namespace Arp::System::Um::Services
Base interface for all Rsc service interface.
Definition: IRscService.hpp:19
Contains a static string with string lentgh up to N characters. The string has to be null terminated.
Definition: RscString.hxx:21
Definition: SecurityToken.hpp:12
UserManager Service to retrieve and set session properties like sessionId and extended session inform...
Definition: ISessionService.hpp:35
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