CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edm::SingleChoiceNoProcessProductResolver Class Reference

#include <ProductResolvers.h>

Inheritance diagram for edm::SingleChoiceNoProcessProductResolver:
edm::ProductResolverBase

Public Types

typedef
ProducedProductResolver::ProductStatus 
ProductStatus
 

Public Member Functions

virtual void connectTo (ProductResolverBase const &iOther, Principal const *) overridefinal
 
 SingleChoiceNoProcessProductResolver (ProductResolverIndex iChoice)
 
- Public Member Functions inherited from edm::ProductResolverBase
BranchDescription const & branchDescription () const
 
std::string const & moduleLabel () const
 
ProductResolverBaseoperator= (ProductResolverBase const &)=delete
 
void prefetchAsync (WaitingTask *waitTask, Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
 
std::string const & processName () const
 
ProductID const & productID () const
 
std::string const & productInstanceName () const
 
ProductProvenance const * productProvenancePtr () const
 
bool productResolved () const
 
 ProductResolverBase ()
 
 ProductResolverBase (ProductResolverBase const &)=delete
 
TypeID productType () const
 
bool productUnavailable () const
 
bool productWasDeleted () const
 
bool productWasFetchedAndIsValid (bool iSkipCurrentProcess) const
 
Provenance const * provenance () const
 
bool provenanceAvailable () const
 
void putOrMergeProduct (std::unique_ptr< WrapperBase > edp) const
 
void putProduct (std::unique_ptr< WrapperBase > edp) const
 
void resetBranchDescription (std::shared_ptr< BranchDescription const > bd)
 
virtual void resetFailedFromThisProcess ()
 
void resetProductData ()
 
std::string const & resolvedModuleLabel () const
 
Resolution resolveProduct (Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const
 
void retrieveAndMerge (Principal const &principal) const
 
void setProcessHistory (ProcessHistory const &ph)
 
void setProvenance (ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid)
 
virtual void setupUnscheduled (UnscheduledConfigurator const &)
 
bool singleProduct () const
 
StableProvenance const * stableProvenance () const
 
void unsafe_deleteProduct () const
 
bool unscheduledWasNotRun () const
 
void write (std::ostream &os) const
 
virtual ~ProductResolverBase ()
 

Private Member Functions

virtual BranchDescription const & branchDescription_ () const override
 
virtual void prefetchAsync_ (WaitingTask *waitTask, Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override
 
virtual ProductProvenance const * productProvenancePtr_ () const override
 
virtual bool productResolved_ () const overridefinal
 
virtual bool productUnavailable_ () const override
 
virtual bool productWasDeleted_ () const override
 
virtual bool productWasFetchedAndIsValid_ (bool iSkipCurrentProcess) const override
 
virtual Provenance const * provenance_ () const override
 
virtual void putOrMergeProduct_ (std::unique_ptr< WrapperBase > prod) const overridefinal
 
virtual void putProduct_ (std::unique_ptr< WrapperBase > edp) const override
 
virtual void resetBranchDescription_ (std::shared_ptr< BranchDescription const > bd) override
 
virtual void resetProductData_ (bool deleteEarly) override
 
virtual std::string const & resolvedModuleLabel_ () const override
 
virtual Resolution resolveProduct_ (Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const override
 
virtual void setProcessHistory_ (ProcessHistory const &ph) override
 
virtual void setProvenance_ (ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid) override
 
virtual bool singleProduct_ () const override
 
virtual bool unscheduledWasNotRun_ () const override
 

Private Attributes

ProductResolverIndex realResolverIndex_
 

Detailed Description

Definition at line 369 of file ProductResolvers.h.

Member Typedef Documentation

Definition at line 371 of file ProductResolvers.h.

Constructor & Destructor Documentation

edm::SingleChoiceNoProcessProductResolver::SingleChoiceNoProcessProductResolver ( ProductResolverIndex  iChoice)
inline

Definition at line 372 of file ProductResolvers.h.

Member Function Documentation

BranchDescription const & edm::SingleChoiceNoProcessProductResolver::branchDescription_ ( ) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 1041 of file ProductResolvers.cc.

References Exception, and edm::errors::LogicError.

1041  {
1043  << "SingleChoiceNoProcessProductResolver::branchDescription_() not implemented and should never be called.\n"
1044  << "Contact a Framework developer\n";
1045  }
void edm::SingleChoiceNoProcessProductResolver::connectTo ( ProductResolverBase const &  iOther,
Principal const *   
)
finaloverridevirtual

Implements edm::ProductResolverBase.

Definition at line 1059 of file ProductResolvers.cc.

References Exception, and edm::errors::LogicError.

1059  {
1061  << "SingleChoiceNoProcessProductResolver::connectTo() not implemented and should never be called.\n"
1062  << "Contact a Framework developer\n";
1063 
1064  }
void edm::SingleChoiceNoProcessProductResolver::prefetchAsync_ ( WaitingTask waitTask,
Principal const &  principal,
bool  skipCurrentProcess,
SharedResourcesAcquirer sra,
ModuleCallingContext const *  mcc 
) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 971 of file ProductResolvers.cc.

References edm::Principal::getProductResolverByIndex(), and realResolverIndex_.

975  {
976  principal.getProductResolverByIndex(realResolverIndex_)
977  ->prefetchAsync(waitTask,principal,
978  skipCurrentProcess, sra, mcc);
979  }
ProductProvenance const * edm::SingleChoiceNoProcessProductResolver::productProvenancePtr_ ( ) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 987 of file ProductResolvers.cc.

987  {
988  return nullptr;
989  }
bool edm::SingleChoiceNoProcessProductResolver::productResolved_ ( ) const
finaloverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 1010 of file ProductResolvers.cc.

References Exception, and edm::errors::LogicError.

1010  {
1012  << "SingleChoiceNoProcessProductResolver::productResolved_() not implemented and should never be called.\n"
1013  << "Contact a Framework developer\n";
1014  }
bool edm::SingleChoiceNoProcessProductResolver::productUnavailable_ ( ) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 1004 of file ProductResolvers.cc.

References Exception, and edm::errors::LogicError.

1004  {
1006  << "SingleChoiceNoProcessProductResolver::productUnavailable_() not implemented and should never be called.\n"
1007  << "Contact a Framework developer\n";
1008  }
bool edm::SingleChoiceNoProcessProductResolver::productWasDeleted_ ( ) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 1016 of file ProductResolvers.cc.

References Exception, and edm::errors::LogicError.

1016  {
1018  << "SingleChoiceNoProcessProductResolver::productWasDeleted_() not implemented and should never be called.\n"
1019  << "Contact a Framework developer\n";
1020  }
bool edm::SingleChoiceNoProcessProductResolver::productWasFetchedAndIsValid_ ( bool  iSkipCurrentProcess) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 1022 of file ProductResolvers.cc.

References Exception, and edm::errors::LogicError.

1022  {
1024  << "SingleChoiceNoProcessProductResolver::productWasFetchedAndIsValid_() not implemented and should never be called.\n"
1025  << "Contact a Framework developer\n";
1026  }
Provenance const * edm::SingleChoiceNoProcessProductResolver::provenance_ ( ) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 1053 of file ProductResolvers.cc.

References Exception, and edm::errors::LogicError.

1053  {
1055  << "SingleChoiceNoProcessProductResolver::provenance_() not implemented and should never be called.\n"
1056  << "Contact a Framework developer\n";
1057  }
void edm::SingleChoiceNoProcessProductResolver::putOrMergeProduct_ ( std::unique_ptr< WrapperBase prod) const
finaloverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 1035 of file ProductResolvers.cc.

References Exception, and edm::errors::LogicError.

1035  {
1037  << "SingleChoiceNoProcessProductResolver::putOrMergeProduct_(std::unique_ptr<WrapperBase> edp) not implemented and should never be called.\n"
1038  << "Contact a Framework developer\n";
1039  }
void edm::SingleChoiceNoProcessProductResolver::putProduct_ ( std::unique_ptr< WrapperBase edp) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 1029 of file ProductResolvers.cc.

References Exception, and edm::errors::LogicError.

1029  {
1031  << "SingleChoiceNoProcessProductResolver::putProduct_() not implemented and should never be called.\n"
1032  << "Contact a Framework developer\n";
1033  }
void edm::SingleChoiceNoProcessProductResolver::resetBranchDescription_ ( std::shared_ptr< BranchDescription const >  bd)
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 1047 of file ProductResolvers.cc.

References Exception, and edm::errors::LogicError.

1047  {
1049  << "SingleChoiceNoProcessProductResolver::resetBranchDescription_() not implemented and should never be called.\n"
1050  << "Contact a Framework developer\n";
1051  }
void edm::SingleChoiceNoProcessProductResolver::resetProductData_ ( bool  deleteEarly)
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 991 of file ProductResolvers.cc.

991  {
992  }
virtual std::string const& edm::SingleChoiceNoProcessProductResolver::resolvedModuleLabel_ ( ) const
inlineoverrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 399 of file ProductResolvers.h.

References edm::ProductResolverBase::moduleLabel().

399 {return moduleLabel();}
std::string const & moduleLabel() const
ProductResolverBase::Resolution edm::SingleChoiceNoProcessProductResolver::resolveProduct_ ( Principal const &  principal,
bool  skipCurrentProcess,
SharedResourcesAcquirer sra,
ModuleCallingContext const *  mcc 
) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 958 of file ProductResolvers.cc.

References edm::Principal::getProductResolverByIndex(), and realResolverIndex_.

963  {
964  //NOTE: Have to lookup the other ProductResolver each time rather than cache
965  // it's pointer since it appears the pointer can change at some later stage
966  return principal.getProductResolverByIndex(realResolverIndex_)
967  ->resolveProduct(principal,
968  skipCurrentProcess, sra, mcc);
969  }
void edm::SingleChoiceNoProcessProductResolver::setProcessHistory_ ( ProcessHistory const &  ph)
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 984 of file ProductResolvers.cc.

984  {
985  }
void edm::SingleChoiceNoProcessProductResolver::setProvenance_ ( ProductProvenanceRetriever const *  provRetriever,
ProcessHistory const &  ph,
ProductID const &  pid 
)
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 981 of file ProductResolvers.cc.

981  {
982  }
bool edm::SingleChoiceNoProcessProductResolver::singleProduct_ ( ) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 994 of file ProductResolvers.cc.

994  {
995  return false;
996  }
bool edm::SingleChoiceNoProcessProductResolver::unscheduledWasNotRun_ ( ) const
overrideprivatevirtual

Implements edm::ProductResolverBase.

Definition at line 998 of file ProductResolvers.cc.

References Exception, and edm::errors::LogicError.

998  {
1000  << "SingleChoiceNoProcessProductResolver::unscheduledWasNotRun_() not implemented and should never be called.\n"
1001  << "Contact a Framework developer\n";
1002  }

Member Data Documentation

ProductResolverIndex edm::SingleChoiceNoProcessProductResolver::realResolverIndex_
private

Definition at line 406 of file ProductResolvers.h.

Referenced by prefetchAsync_(), and resolveProduct_().