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