PLCnext API Documentation  22.6.0.43
IUmAuthenticationModule.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 #include "Arp/System/Um/Commons/IAuthenticationProvider.hpp"
9 #include <list>
10 
11 namespace Arp { namespace System { namespace Um { namespace Commons { namespace Modules
12 {
13 
15 {
16 public: // typedefs
17  using Ptr = std::shared_ptr<IUmAuthenticationModule>;
18  using AuthenticationProviderList = std::list<std::shared_ptr<IAuthenticationProvider>>;
19 
20 public: // construction/destruction
22  IUmAuthenticationModule(void) = default;
32  virtual ~IUmAuthenticationModule(void) = default;
33 
34 public: // abstract operations
35 
38  virtual AuthenticationProviderList GetAuthenticationProviders() const = 0;
39 };
40 
41 }}}}} // end of namespace Arp::System::Um::Commons::Modules
Definition: IUmAuthenticationModule.hpp:15
IUmAuthenticationModule(void)=default
Constructs an IUmAuthenticationModule instance.
virtual AuthenticationProviderList GetAuthenticationProviders() const =0
Should return the list of authentication providers that will be registered after this module starts....
IUmAuthenticationModule & operator=(const IUmAuthenticationModule &arg)=default
Copy-assignment operator.
IUmAuthenticationModule & operator=(IUmAuthenticationModule &&arg)=default
Move-assignment operator.
virtual ~IUmAuthenticationModule(void)=default
Destructs this instance and frees all resources.
IUmAuthenticationModule(IUmAuthenticationModule &&arg)=default
Move constructor.
IUmAuthenticationModule(const IUmAuthenticationModule &arg)=default
Copy constructor.
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API