PLCnext API Documentation  20.6.0.30321
SharedLibrary.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 
9 // forwards
10 namespace Arp { namespace System { namespace Ve
11 {
12 class ISharedLibraryService;
13 }}}
14 
15 namespace Arp { namespace System { namespace Commons { namespace Runtime
16 {
17 
20 {
21 public: // construction/destruction
22 
24  SharedLibrary(void);
25 
27  SharedLibrary(const SharedLibrary& arg) = delete;
28 
30  SharedLibrary& operator=(const SharedLibrary& arg) = delete;
31 
33  virtual ~SharedLibrary(void);
34 
35 public: // static operations
36 
44  void Load(const String& path);
45 
49  void Unload(void);
50 
56  void* GetFunctionAddress(const String& symbolName);
57 
58 private: // fields
59  Arp::System::Ve::ISharedLibraryService* pSharedLibraryService;
60 
61 };
62 
64 // inline methods of class SharedLibrary
65 
66 }}}} // end of namesapce Arp::System::Commons::Runtime
High level API to enable work with dynamically loadable shared libraries.
Definition: SharedLibrary.hpp:19
Root namespace for the PLCnext API
System components used by the System, Device, Plc or Io domains.