1 #ifndef FWCore_Framework_ProductResolverBase_h 2 #define FWCore_Framework_ProductResolverBase_h 24 class ProductProvenanceRetriever;
26 class ModuleCallingContext;
43 bool isAmbiguous()
const {
return reinterpret_cast<std::uintptr_t
>(
m_data) == kAmbiguityValue; }
59 bool skipCurrentProcess,
69 bool skipCurrentProcess,
73 return prefetchAsync_(waitTask, principal, skipCurrentProcess, token, sra, mcc);
142 void write(std::ostream& os)
const;
167 bool skipCurrentProcess,
172 bool skipCurrentProcess,
186 virtual void putProduct_(std::unique_ptr<WrapperBase> edp)
const = 0;
virtual ~ProductResolverBase()
std::string const & productInstanceName() const
Provenance const * provenance() const
virtual bool productWasFetchedAndIsValid_(bool iSkipCurrentProcess) const =0
virtual std::string const & resolvedModuleLabel_() const =0
void prefetchAsync(WaitingTask *waitTask, Principal const &principal, bool skipCurrentProcess, ServiceToken const &token, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
ProductResolverBase & operator=(ProductResolverBase const &)=delete
virtual void resetBranchDescription_(std::shared_ptr< BranchDescription const > bd)=0
StableProvenance const & stable() const
virtual void setupUnscheduled(UnscheduledConfigurator const &)
virtual ProductProvenance const * productProvenancePtr_() const =0
virtual void putProduct_(std::unique_ptr< WrapperBase > edp) const =0
virtual void prefetchAsync_(WaitingTask *waitTask, Principal const &principal, bool skipCurrentProcess, ServiceToken const &token, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const =0
virtual void resetProductData_(bool deleteEarly)=0
std::string const & processName() const
bool unscheduledWasNotRun() const
Resolution resolveProduct(Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
bool productUnavailable() const
std::string const & processName() const
virtual void setProvenance_(ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid)=0
StableProvenance const * stableProvenance() const
ProductID const & productID() const
void putProduct(std::unique_ptr< WrapperBase > edp) const
virtual void connectTo(ProductResolverBase const &, Principal const *)=0
TypeID productType() const
bool singleProduct() const
static std::uintptr_t constexpr kAmbiguityValue
virtual BranchDescription const & branchDescription_() const =0
Resolution(ProductData const *iData)
std::string const & moduleLabel() const
std::string const & productInstanceName() const
bool productWasDeleted() const
virtual void putOrMergeProduct_(std::unique_ptr< WrapperBase > edp) const =0
virtual bool productResolved_() const =0
void setProcessHistory(ProcessHistory const &ph)
bool provenanceAvailable() const
ProductProvenance const * productProvenancePtr() const
virtual bool unscheduledWasNotRun_() const =0
ProductData const * data() const
bool productWasFetchedAndIsValid(bool iSkipCurrentProcess) const
static std::uintptr_t constexpr kAmbiguityMask
void retrieveAndMerge(Principal const &principal) const
std::string const & resolvedModuleLabel() const
BranchDescription const & branchDescription() const
virtual void retrieveAndMerge_(Principal const &principal) const
void setProvenance(ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid)
ProductData const * m_data
void resetBranchDescription(std::shared_ptr< BranchDescription const > bd)
virtual Provenance const * provenance_() const =0
bool productResolved() const
ProductID const & productID() const
virtual bool productUnavailable_() const =0
virtual bool singleProduct_() const =0
std::ostream & operator<<(std::ostream &ost, const HLTGlobalStatus &hlt)
Formatted printout of trigger tbale.
void unsafe_deleteProduct() const
void putOrMergeProduct(std::unique_ptr< WrapperBase > edp) const
virtual Resolution resolveProduct_(Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const =0
static Resolution makeAmbiguous()
std::string const & moduleLabel() const
virtual void setProcessHistory_(ProcessHistory const &ph)=0
virtual bool productWasDeleted_() const =0
void write(std::ostream &os) const