Procházet zdrojové kódy

common: dynamic_library: Add ctor for existing handle.

bunnei před 3 roky
rodič
revize
32cf6beee3
2 změnil soubory, kde provedl 5 přidání a 0 odebrání
  1. 2 0
      src/common/dynamic_library.cpp
  2. 3 0
      src/common/dynamic_library.h

+ 2 - 0
src/common/dynamic_library.cpp

@@ -22,6 +22,8 @@ DynamicLibrary::DynamicLibrary(const char* filename) {
     void(Open(filename));
 }
 
+DynamicLibrary::DynamicLibrary(void* handle_) : handle{handle_} {}
+
 DynamicLibrary::DynamicLibrary(DynamicLibrary&& rhs) noexcept
     : handle{std::exchange(rhs.handle, nullptr)} {}
 

+ 3 - 0
src/common/dynamic_library.h

@@ -20,6 +20,9 @@ public:
     /// Automatically loads the specified library. Call IsOpen() to check validity before use.
     explicit DynamicLibrary(const char* filename);
 
+    /// Initializes the dynamic library with an already opened handle.
+    explicit DynamicLibrary(void* handle_);
+
     /// Moves the library.
     DynamicLibrary(DynamicLibrary&&) noexcept;
     DynamicLibrary& operator=(DynamicLibrary&&) noexcept;