File indexing completed on 2024-04-06 12:12:59
0001 #ifndef FWCore_PluginManager_SharedLibrary_h
0002 #define FWCore_PluginManager_SharedLibrary_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #include <filesystem>
0023
0024
0025
0026
0027
0028 namespace edmplugin {
0029 class SharedLibrary {
0030 public:
0031 SharedLibrary(const std::filesystem::path& iName);
0032 SharedLibrary(const SharedLibrary&) = delete;
0033 const SharedLibrary& operator=(const SharedLibrary&) = delete;
0034 ~SharedLibrary();
0035
0036
0037 bool symbol(const std::string& iSymbolName, void*& iSymbol) const;
0038 const std::filesystem::path& path() const { return path_; }
0039
0040
0041
0042
0043
0044 private:
0045
0046 void* libraryHandle_;
0047 std::filesystem::path path_;
0048 };
0049
0050 }
0051 #endif