FairMQ: Implement PluginServices - Control

This commit is contained in:
Dennis Klein
2017-06-26 15:30:08 +02:00
committed by Mohammad Al-Turany
parent 9b61b924b2
commit 739460b2fe
8 changed files with 200 additions and 50 deletions

View File

@@ -26,22 +26,33 @@ class DummyPlugin : public fair::mq::Plugin
{
public:
DummyPlugin(const std::string name, const Version version, const std::string maintainer, const std::string homepage, PluginServices& pluginServices)
DummyPlugin(
const std::string name,
const Version version,
const std::string maintainer,
const std::string homepage,
PluginServices& pluginServices)
: Plugin(name, version, maintainer, homepage, pluginServices)
{
SubscribeToDeviceStateChange(
[&](DeviceState newState){
switch (newState)
{
case DeviceState::Exiting:
UnsubscribeFromDeviceStateChange();
break;
}
}
);
}
}; /* class DummyPlugin */
auto DummyPluginProgramOptions() -> const boost::optional<boost::program_options::options_description>
{
using namespace boost::program_options;
using std::string;
auto plugin_options = options_description{"Dummy Plugin"};
auto plugin_options = boost::program_options::options_description{"Dummy Plugin"};
plugin_options.add_options()
("custom-dummy-option", value<string>(), "Cool custom option.");
("custom-dummy-option2", value<string>(), "Another cool custom option.");
("custom-dummy-option", value<std::string>(), "Cool custom option.");
("custom-dummy-option2", value<std::string>(), "Another cool custom option.");
return plugin_options;
}

View File

@@ -36,9 +36,9 @@ auto control(FairMQDevice& device) -> void
TEST(Plugin, Operators)
{
auto config = FairMQProgOptions{};
FairMQProgOptions config{};
FairMQDevice device{};
auto services = PluginServices{config, device};
PluginServices services{config, device};
auto p1 = Plugin{"dds", {1, 0, 0}, "Foo Bar <foo.bar@test.net>", "https://git.test.net/dds.git", services};
auto p2 = Plugin{"dds", {1, 0, 0}, "Foo Bar <foo.bar@test.net>", "https://git.test.net/dds.git", services};
auto p3 = Plugin{"file", {1, 0, 0}, "Foo Bar <foo.bar@test.net>", "https://git.test.net/file.git", services};
@@ -49,9 +49,9 @@ TEST(Plugin, Operators)
TEST(Plugin, OstreamOperators)
{
auto config = FairMQProgOptions{};
FairMQProgOptions config{};
FairMQDevice device{};
auto services = PluginServices{config, device};
PluginServices services{config, device};
auto p1 = Plugin{"dds", {1, 0, 0}, "Foo Bar <foo.bar@test.net>", "https://git.test.net/dds.git", services};
stringstream ss;
ss << p1;

View File

@@ -38,7 +38,7 @@ auto control(FairMQDevice& device) -> void
TEST(PluginManager, LoadPlugin)
{
auto config = FairMQProgOptions{};
FairMQProgOptions config{};
FairMQDevice device{};
auto mgr = PluginManager{};
mgr.EmplacePluginServices(config, device);