PLCnext API Documentation  22.3.0.20
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 "SessionServiceProxyFactory.hpp"
10 #include "Arp/System/Rsc/Services/RscString.hxx"
11 #include "Arp/System/Security/SecurityToken.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 
28 {
29 public: // typedefs
30  using Ptr = std::shared_ptr<ISessionService>;
31 
32 public: // construction/destruction
34  ISessionService(void) = default;
35 
36 public: // static policy operation
37  static IRscServiceProxyFactory& GetProxyFactory(void);
38 
39 public: // abstract operations
46  virtual boolean GetSessionId(SecurityToken securityToken, RscString<128>& sessionId) = 0;
47 
55  virtual boolean GetSecurityTokenFromSessionId(const RscString<128>& sessionId, SecurityToken& securityToken) = 0;
56 
68  virtual boolean GetSessionProperty(SecurityToken securityToken, const RscString<128>& key, RscString<128>& value) = 0;
69 
79  virtual boolean SetSessionProperty(SecurityToken securityToken, const RscString<128>& key, const RscString<128>& value) = 0;
80 
87  virtual boolean DeleteSessionProperty(SecurityToken securityToken, const RscString<128>& key) = 0;
88 
98  virtual boolean IsSessionActive(SecurityToken securityToken) = 0;
99 };
100 
102 // inline methods of class ISessionService
103 inline IRscServiceProxyFactory& ISessionService::GetProxyFactory()
104 {
105  return SessionServiceProxyFactory::GetInstance();
106 }
107 
108 }}}} // end of namespace Arp::System::Um::Services
Definition: SecurityToken.hpp:11
Namespace for classes and interfaces for the Remote Service Call implementation
Definition: IRscReadEnumerator.hxx:9
UserManager Service to retrieve and set session properties like sessionId and extended session inform...
Definition: ISessionService.hpp:27
Root namespace for the PLCnext API
Base interface for all Rsc service interface.
Definition: IRscService.hpp:18
System components used by the System, Device, Plc or Io domains.
Contains a static string with string lentgh up to N characters. The string has to be null terminated...
Definition: RscString.hxx:18