artdaq  v3_09_00
makeRoutingManagerPolicy.cc
1 #include "artdaq/RoutingPolicies/makeRoutingManagerPolicy.hh"
2 
3 #include "artdaq/RoutingPolicies/PolicyMacros.hh"
4 #include "cetlib/BasicPluginFactory.h"
5 #include "fhiclcpp/ParameterSet.h"
6 
7 std::shared_ptr<artdaq::RoutingManagerPolicy>
8 artdaq::makeRoutingManagerPolicy(std::string const& policy_plugin_spec,
9  fhicl::ParameterSet const& ps)
10 {
11  static cet::BasicPluginFactory bpf("policy", "make");
12 
13  std::unique_ptr<artdaq::RoutingManagerPolicy> uptr =
14  bpf.makePlugin<std::unique_ptr<artdaq::RoutingManagerPolicy>,
15  fhicl::ParameterSet const&>(policy_plugin_spec, ps);
16  std::shared_ptr<artdaq::RoutingManagerPolicy> sptr(std::move(uptr));
17  return sptr;
18 }
std::shared_ptr< RoutingManagerPolicy > makeRoutingManagerPolicy(std::string const &policy_plugin_spec, fhicl::ParameterSet const &ps)
Load a RoutingManagerPolicy plugin.