aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2023-02-18 22:05:58 -0800
committerbunnei <bunneidev@gmail.com>2023-06-03 00:05:31 -0700
commitf644380506e34445c3c267d725a9bb08d1840b92 (patch)
tree144818bf013132b9d05c668eeaadf00e2e30f3b7 /src
parentf292a3a3578294df34e9b2ee872cc712eb3b5afb (diff)
common: dynamic_library: Add ctor for existing handle.
Diffstat (limited to 'src')
-rw-r--r--src/common/dynamic_library.cpp2
-rw-r--r--src/common/dynamic_library.h3
2 files changed, 5 insertions, 0 deletions
diff --git a/src/common/dynamic_library.cpp b/src/common/dynamic_library.cpp
index 054277a2b8..4fabe7e522 100644
--- a/src/common/dynamic_library.cpp
+++ b/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)} {}
diff --git a/src/common/dynamic_library.h b/src/common/dynamic_library.h
index f42bdf441a..662d454d43 100644
--- a/src/common/dynamic_library.h
+++ b/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;