Public Member Functions | Private Member Functions | Private Attributes | List of all members
art::detail::ServiceCacheEntry Class Reference

#include "/cvmfs/nova.opensciencegrid.org/externals/art/v3_05_01/source/art/Framework/Services/Registry/detail/ServiceCacheEntry.h"

Public Member Functions

 ServiceCacheEntry (fhicl::ParameterSet const &pset, std::unique_ptr< ServiceHelperBase > &&helper)
 
 ServiceCacheEntry (fhicl::ParameterSet const &pset, std::unique_ptr< ServiceHelperBase > &&helper, ServiceCacheEntry const &impl)
 
 ServiceCacheEntry (std::shared_ptr< ServiceWrapperBase > premade_service, std::unique_ptr< ServiceHelperBase > &&helper)
 
std::shared_ptr< ServiceWrapperBasegetService (art::ActivityRegistry &reg, ServiceStack &creationOrder) const
 
void forceCreation (art::ActivityRegistry &reg) const
 
fhicl::ParameterSet const & getParameterSet () const
 
template<typename T >
Tget (art::ActivityRegistry &reg, ServiceStack &creationOrder) const
 
void registerProducts (ProductDescriptions &productsToProduce, ProducingServiceSignals &signals, ModuleDescription const &md)
 
bool is_impl () const
 
bool is_interface () const
 
ServiceScope serviceScope () const
 

Private Member Functions

std::shared_ptr< ServiceWrapperBasemakeService (art::ActivityRegistry &reg) const
 
void createService (art::ActivityRegistry &reg, ServiceStack &creationOrder) const
 
std::shared_ptr< ServiceWrapperBaseconvertService () const
 

Private Attributes

fhicl::ParameterSet config_ {}
 
std::unique_ptr< ServiceHelperBasehelper_
 
std::shared_ptr< ServiceWrapperBaseservice_ {}
 
cet::exempt_ptr< ServiceCacheEntry const > const interface_impl_ {nullptr}
 

Detailed Description

Definition at line 24 of file ServiceCacheEntry.h.

Constructor & Destructor Documentation

art::detail::ServiceCacheEntry::ServiceCacheEntry ( fhicl::ParameterSet const &  pset,
std::unique_ptr< ServiceHelperBase > &&  helper 
)
art::detail::ServiceCacheEntry::ServiceCacheEntry ( fhicl::ParameterSet const &  pset,
std::unique_ptr< ServiceHelperBase > &&  helper,
ServiceCacheEntry const &  impl 
)
art::detail::ServiceCacheEntry::ServiceCacheEntry ( std::shared_ptr< ServiceWrapperBase premade_service,
std::unique_ptr< ServiceHelperBase > &&  helper 
)

Member Function Documentation

std::shared_ptr<ServiceWrapperBase> art::detail::ServiceCacheEntry::convertService ( ) const
private
void art::detail::ServiceCacheEntry::createService ( art::ActivityRegistry reg,
ServiceStack creationOrder 
) const
private
void art::detail::ServiceCacheEntry::forceCreation ( art::ActivityRegistry reg) const
template<typename T >
T & art::detail::ServiceCacheEntry::get ( art::ActivityRegistry reg,
ServiceStack creationOrder 
) const

Definition at line 71 of file ServiceCacheEntry.h.

References getService(), art::detail::ServiceLGRHelper::retrieve(), and T.

73  {
74  std::shared_ptr<ServiceWrapperBase> swb = getService(reg, creationOrder);
75  return *reinterpret_cast<T*>(
76  dynamic_cast<ServiceLGRHelper&>(*helper_).retrieve(swb));
77  }
std::shared_ptr< ServiceWrapperBase > getService(art::ActivityRegistry &reg, ServiceStack &creationOrder) const
double T
Definition: Xdiff_gwt.C:5
fhicl::ParameterSet const& art::detail::ServiceCacheEntry::getParameterSet ( ) const
std::shared_ptr<ServiceWrapperBase> art::detail::ServiceCacheEntry::getService ( art::ActivityRegistry reg,
ServiceStack creationOrder 
) const

Referenced by get().

bool art::detail::ServiceCacheEntry::is_impl ( ) const
bool art::detail::ServiceCacheEntry::is_interface ( ) const
std::shared_ptr<ServiceWrapperBase> art::detail::ServiceCacheEntry::makeService ( art::ActivityRegistry reg) const
private
void art::detail::ServiceCacheEntry::registerProducts ( ProductDescriptions productsToProduce,
ProducingServiceSignals signals,
ModuleDescription const &  md 
)
ServiceScope art::detail::ServiceCacheEntry::serviceScope ( ) const

Member Data Documentation

fhicl::ParameterSet art::detail::ServiceCacheEntry::config_ {}
private

Definition at line 63 of file ServiceCacheEntry.h.

std::unique_ptr<ServiceHelperBase> art::detail::ServiceCacheEntry::helper_
private

Definition at line 64 of file ServiceCacheEntry.h.

cet::exempt_ptr<ServiceCacheEntry const> const art::detail::ServiceCacheEntry::interface_impl_ {nullptr}
private

Definition at line 66 of file ServiceCacheEntry.h.

std::shared_ptr<ServiceWrapperBase> art::detail::ServiceCacheEntry::service_ {}
mutableprivate

Definition at line 65 of file ServiceCacheEntry.h.


The documentation for this class was generated from the following file: