Mercurial > irccd
changeset 716:16e83b636cb8
Irccd: use BOOST_DLL_ALIAS to avoid warnings
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 09 Jul 2018 20:53:00 +0200 |
parents | f3709544d0d1 |
children | fff3ee62d0fc |
files | libirccd/irccd/daemon/dynlib_plugin.cpp plugins/links/links.cpp tests/src/libirccd/dynlib-plugin/test_plugin.cpp |
diffstat | 3 files changed, 33 insertions(+), 33 deletions(-) [+] |
line wrap: on
line diff
--- a/libirccd/irccd/daemon/dynlib_plugin.cpp Mon Jul 09 21:10:00 2018 +0200 +++ b/libirccd/irccd/daemon/dynlib_plugin.cpp Mon Jul 09 20:53:00 2018 +0200 @@ -73,8 +73,8 @@ using abisym_func_type = version (); using initsym_func_type = std::unique_ptr<plugin> (); - const auto abi = boost::dll::import<abisym_func_type>(path, abisym); - const auto init = boost::dll::import<initsym_func_type>(path, initsym); + const auto abi = boost::dll::import_alias<abisym_func_type>(path, abisym); + const auto init = boost::dll::import_alias<initsym_func_type>(path, initsym); // The abi version is reset after new major version, check for both. const version current;
--- a/plugins/links/links.cpp Mon Jul 09 21:10:00 2018 +0200 +++ b/plugins/links/links.cpp Mon Jul 09 20:53:00 2018 +0200 @@ -395,8 +395,14 @@ using plugin::plugin; void set_config(plugin_config) override; + void set_formats(plugin_formats) override; + void handle_message(irccd&, const message_event&) override; + + static auto abi() -> version; + + static auto init() -> std::unique_ptr<plugin>; }; void links_plugin::set_config(plugin_config conf) @@ -416,24 +422,21 @@ requester::run(irccd.get_service(), ev.server, ev.origin, ev.channel, ev.message); } +auto links_plugin::abi() -> version +{ + return version(); +} + +auto links_plugin::init() -> std::unique_ptr<plugin> +{ + return std::make_unique<links_plugin>("links", ""); +} + +BOOST_DLL_ALIAS(links_plugin::abi, irccd_abi_links) +BOOST_DLL_ALIAS(links_plugin::init, irccd_init_links) + // }}} } // !namespace -extern "C" { - -BOOST_SYMBOL_EXPORT -auto irccd_abi_links() -> version -{ - return version(); -} - -BOOST_SYMBOL_EXPORT -auto irccd_init_links() -> std::unique_ptr<plugin> -{ - return std::make_unique<links_plugin>("links", ""); -} - -} // !C - } // !irccd
--- a/tests/src/libirccd/dynlib-plugin/test_plugin.cpp Mon Jul 09 21:10:00 2018 +0200 +++ b/tests/src/libirccd/dynlib-plugin/test_plugin.cpp Mon Jul 09 20:53:00 2018 +0200 @@ -118,22 +118,19 @@ { config_["whois"] = "true"; } + + static auto abi() -> version + { + return version(); + } + + static auto init() -> std::unique_ptr<plugin> + { + return std::make_unique<test_plugin>("testplugin", ""); + } }; -extern "C" { - -BOOST_SYMBOL_EXPORT -auto irccd_abi_test_plugin() -> version -{ - return version(); -} - -BOOST_SYMBOL_EXPORT -auto irccd_init_test_plugin() -> std::unique_ptr<plugin> -{ - return std::make_unique<test_plugin>("testplugin", ""); -} - -} // !C +BOOST_DLL_ALIAS(test_plugin::abi, irccd_abi_test_plugin) +BOOST_DLL_ALIAS(test_plugin::init, irccd_init_test_plugin) } // !irccd