1 #ifndef art_Framework_Services_Registry_detail_ServiceCacheEntry_h 2 #define art_Framework_Services_Registry_detail_ServiceCacheEntry_h 10 #include "cetlib/exempt_ptr.h" 17 class ActivityRegistry;
18 class ModuleDescription;
19 class ProducingServiceSignals;
22 class SharedResources;
27 std::unique_ptr<ServiceHelperBase>&& helper);
30 std::unique_ptr<ServiceHelperBase>&& helper,
34 std::unique_ptr<ServiceHelperBase>&& helper);
36 std::shared_ptr<ServiceWrapperBase>
getService(
70 std::unique_ptr<ServiceHelperBase>
helper_;
71 mutable std::shared_ptr<ServiceWrapperBase>
service_{};
81 auto swb =
getService(reg, resources, creationOrder);
82 return *
reinterpret_cast<T*
>(
std::shared_ptr< ServiceWrapperBase > makeService(ActivityRegistry ®, SharedResources &resources) const
fhicl::ParameterSet const & getParameterSet() const
std::stack< WrapperBase_ptr > ServiceStack
bool is_interface() const
void registerProducts(ProductDescriptions &productsToProduce, ProducingServiceSignals &signals, ModuleDescription const &md)
virtual void * retrieve(std::shared_ptr< ServiceWrapperBase > &swb) const =0
ServiceScope serviceScope() const
std::shared_ptr< ServiceWrapperBase > getService(ActivityRegistry ®, SharedResources &resources, ServiceStack &creationOrder) const
std::vector< BranchDescription > ProductDescriptions
void forceCreation(ActivityRegistry ®, SharedResources &resources) const
ServiceCacheEntry(fhicl::ParameterSet const &pset, std::unique_ptr< ServiceHelperBase > &&helper)
std::unique_ptr< ServiceHelperBase > helper_
void createService(ActivityRegistry ®, SharedResources &resources, ServiceStack &creationOrder) const
T & get(ActivityRegistry ®, SharedResources &resources, ServiceStack &creationOrder) const
fhicl::ParameterSet config_
std::shared_ptr< ServiceWrapperBase > convertService() const
cet::exempt_ptr< ServiceCacheEntry const > const interface_impl_
std::shared_ptr< ServiceWrapperBase > service_