PLCnext API Documentation  22.9.0.33
ISessionService.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
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 
15 namespace Arp { namespace System { namespace Um { namespace Services
16 {
17 
18 using namespace Arp;
19 using namespace Arp::System::Rsc::Services;
20 
29 {
30 public: // typedefs
31  using Ptr = std::shared_ptr<ISessionService>;
32 
33 public: // construction/destruction
35  ISessionService(void) = default;
36 
37 public: // static policy operation
38  static IRscServiceProxyFactory& GetProxyFactory(void);
39 
40 public: // abstract operations
47  virtual boolean GetSessionId(SecurityToken securityToken, RscString<128>& sessionId) = 0;
48 
56  virtual boolean GetSecurityTokenFromSessionId(const RscString<128>& sessionId, SecurityToken& securityToken) = 0;
57 
69  virtual boolean GetSessionProperty(SecurityToken securityToken, const RscString<128>& key, RscString<128>& value) = 0;
70 
80  virtual boolean SetSessionProperty(SecurityToken securityToken, const RscString<128>& key, const RscString<128>& value) = 0;
81 
88  virtual boolean DeleteSessionProperty(SecurityToken securityToken, const RscString<128>& key) = 0;
89 
99  virtual boolean IsSessionActive(SecurityToken securityToken) = 0;
100 };
101 
103 // inline methods of class ISessionService
104 inline IRscServiceProxyFactory& ISessionService::GetProxyFactory()
105 {
106  return SessionServiceProxyFactory::GetInstance();
107 }
108 
109 }}}} // 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:29
virtual boolean DeleteSessionProperty(SecurityToken securityToken, const RscString< 128 > &key)=0
Deletes a named property for a Um session.
virtual boolean GetSessionId(SecurityToken securityToken, RscString< 128 > &sessionId)=0
Gets a sessionId (strong security Token) for a Um session.
virtual boolean GetSessionProperty(SecurityToken securityToken, const RscString< 128 > &key, RscString< 128 > &value)=0
Read a named property from a Um session. A property is extended information bound to a um session ide...
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 Um Session identified by a StrongSecurityToken. If a valid session was found the Um sec...
virtual boolean IsSessionActive(SecurityToken securityToken)=0
Check if the um session is active or not.
@ System
System components used by the System, Device, Plc or Io domains.
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:10
Root namespace for the PLCnext API