16 const std::string& name,
const std::map<std::string, std::string>& parameters) {
17 if(name ==
"multiply") {
18 return boost::make_shared<MultiplierPlugin>(info, pluginIndex, parameters);
21 return boost::make_shared<MathPlugin>(info, pluginIndex, parameters);
23 if(name ==
"monostableTrigger") {
24 return boost::make_shared<MonostableTriggerPlugin>(info, pluginIndex, parameters);
26 if(name ==
"forceReadOnly") {
27 return boost::make_shared<ForceReadOnlyPlugin>(info, pluginIndex, parameters);
29 if(name ==
"forcePollingRead") {
30 return boost::make_shared<ForcePollingReadPlugin>(info, pluginIndex, parameters);
32 if(name ==
"typeHintModifier") {
33 return boost::make_shared<TypeHintModifierPlugin>(info, pluginIndex, parameters);
35 if(name ==
"doubleBuffer") {
36 return boost::make_shared<DoubleBufferPlugin>(info, pluginIndex, parameters);
38 if(name ==
"bitRange") {
39 return boost::make_shared<BitRangeAccessPlugin>(info, pluginIndex, parameters);
41 if(name ==
"tagModifier") {
42 return boost::make_shared<TagModifierPlugin>(info, pluginIndex, parameters);
44 if(name ==
"isStatusOutput") {
45 return boost::make_shared<FixedTagModifierPlugin<ChimeraTK::SystemTags::statusOutput>>(
46 info, pluginIndex, parameters);
48 if(name ==
"hasReverseRecovery") {
49 return boost::make_shared<FixedTagModifierPlugin<ChimeraTK::SystemTags::reverseRecovery>>(
50 info, pluginIndex, parameters);
52 if(name ==
"fanOut") {
53 return boost::make_shared<FanOutPlugin>(info, pluginIndex, parameters);
boost::shared_ptr< AccessorPluginBase > makePlugin(LNMBackendRegisterInfo info, size_t pluginIndex, const std::string &name, const std::map< std::string, std::string > ¶meters)
Factory function for accessor plugins.