/* Loadable / plugin support. * * Author: Steffen Vogel <post@steffenvogel.de> * SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University * SPDX-License-Identifier: Apache-2.0 */ #include <dlfcn.h> #include <iostream> #include <new> #include <string> #include <type_traits> #include <villas/plugin.hpp> using namespace villas::plugin; Registry *villas::plugin::registry = nullptr; Plugin::Plugin() { if (registry == nullptr) registry = new Registry(); registry->add(this); } Plugin::~Plugin() { registry->remove(this); } void Plugin::dump() { getLogger()->info("Name: '{}' Description: '{}'", getName(), getDescription()); }