// AUTOGENERATED COPYRIGHT HEADER START // Copyright (C) 2020-2023 Michael Fabian 'Xaymar' Dirks // AUTOGENERATED COPYRIGHT HEADER END #pragma once #include "warning-disable.hpp" #include #include #include #include #include "warning-enable.hpp" namespace streamfx::util { class library { void* _library; bool _owner; public: library(std::filesystem::path file); library(obs_module_t* library); ~library(); void* load_symbol(std::string_view name); public: static std::shared_ptr<::streamfx::util::library> load(std::filesystem::path file); static std::shared_ptr<::streamfx::util::library> load(std::string_view name); static std::shared_ptr<::streamfx::util::library> load(obs_module_t* instance); }; } // namespace streamfx::util