diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2019-06-01 14:20:28 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2019-06-01 14:20:28 +0100 |
commit | 33f816ab58c4d2c91e7455940011043107a7b1da (patch) | |
tree | 31e854c3ed7505f442f46895929ec07d078a47af | |
parent | Add MemStream (diff) | |
download | libadhocutil-33f816ab58c4d2c91e7455940011043107a7b1da.tar.bz2 libadhocutil-33f816ab58c4d2c91e7455940011043107a7b1da.tar.xz libadhocutil-33f816ab58c4d2c91e7455940011043107a7b1da.zip |
Don't default destructor
Allows for use of plugin manager in other code (without full definition
of contained types)
-rw-r--r-- | libadhocutil/plugins.cpp | 2 | ||||
-rw-r--r-- | libadhocutil/plugins.h | 2 | ||||
-rw-r--r-- | libadhocutil/unittests/testPlugins.cpp | 5 |
3 files changed, 8 insertions, 1 deletions
diff --git a/libadhocutil/plugins.cpp b/libadhocutil/plugins.cpp index 9c13bf4..86dc2c5 100644 --- a/libadhocutil/plugins.cpp +++ b/libadhocutil/plugins.cpp @@ -85,6 +85,8 @@ namespace AdHoc { { } + PluginManager::~PluginManager() = default; + PluginManager * PluginManager::getDefault() { diff --git a/libadhocutil/plugins.h b/libadhocutil/plugins.h index 42d6062..ce3447a 100644 --- a/libadhocutil/plugins.h +++ b/libadhocutil/plugins.h @@ -100,7 +100,7 @@ namespace AdHoc { typedef std::function<std::optional<std::string> (const std::type_info &, const std::string_view &)> PluginResolver; PluginManager(); - virtual ~PluginManager() = default; + virtual ~PluginManager(); /// Install a plugin. void add(const PluginPtr &); diff --git a/libadhocutil/unittests/testPlugins.cpp b/libadhocutil/unittests/testPlugins.cpp index 8d35822..bdcfe6d 100644 --- a/libadhocutil/unittests/testPlugins.cpp +++ b/libadhocutil/unittests/testPlugins.cpp @@ -17,6 +17,11 @@ BOOST_AUTO_TEST_CASE( registered ) BOOST_REQUIRE_EQUAL(1, PluginManager::getDefault()->count()); } +BOOST_AUTO_TEST_CASE( private_instance ) +{ + std::make_unique<PluginManager>(); +} + BOOST_AUTO_TEST_CASE( get ) { auto implOfThingPlugin = PluginManager::getDefault()->get<BaseThing>("ImplOfThing"); |