14 #ifndef DDCOND_CONDITIONSPOOL_H
15 #define DDCOND_CONDITIONSPOOL_H
26 namespace Conditions {
29 class ConditionsPoolInsert;
30 class ConditionsManagerObject;
86 void print(
const std::string& opt)
const;
88 virtual void clear() = 0;
100 virtual size_t count()
const = 0;
160 virtual void print(
const std::string& opt)
const = 0;
162 virtual size_t count()
const = 0;
164 virtual void clear() = 0;
174 virtual bool remove(
key_type hash_key) = 0;
180 virtual long prepare(
const IOV& required) = 0;
IOV m_iov
The pool's interval of validity.
void print(const std::string &opt) const
Print pool basics.
Collection of condition dependencies.
virtual ~UpdatePool()
Default destructor.
virtual void select_all(RangeConditions &result)=0
Select all conditions contained.
ConditionsManager m_manager
Handle to conditions manager object.
virtual bool insert(Condition cond)=0
Register a new condition to this pool.
Interface for conditions pool optimized to host conditions updates.
virtual void popEntries(UpdateEntries &entries)=0
Adopt all entries sorted by IOV. Entries will be removed from the pool.
const IOV & validity() const
Access the interval of validity for this user pool.
virtual void insert(Condition cond)=0
Register a new condition to this pool.
ConditionsManager::Dependencies Dependencies
Forward definition of the dependency container.
std::map< const IOV *, ConditionEntries > UpdateEntries
Update container specification.
UpdatePool(ConditionsManager mgr)
Default constructor.
ConditionsPool(ConditionsManager mgr)
Default constructor.
virtual void print(const std::string &opt) const =0
Print pool content.
Main condition object handle.
Condition::key_type key_type
Forward definition of the key type.
unsigned int key_type
Forward definition of the key type.
int age_value
Aging value.
void onRegister(Condition condition)
Listener invocation when a condition is registered to the cache.
virtual ~UserPool()
Default destructor.
Key definition to optimize ans simplyfy the access to conditions entities.
Implementation of a named object.
Class describing the interval of validty.
Interface for conditions pool optimized to host conditions updates.
virtual long prepare(const IOV &required)=0
Prepare user pool for usage (load, fill etc.) according to required IOV.
std::vector< Condition > ConditionEntries
Manager class for condition handles.
virtual long compute(const Dependencies &dependencies, void *user_param=0)=0
Evaluate and register all derived conditions from the dependency list.
IOV * iov
The IOV of the conditions hosted.
Class describing the interval of validty type.
const IOV * validityPtr() const
Access the interval of validity for this user pool.
virtual void select_range(Condition::key_type key, const Condition::iov_type &req_validity, RangeConditions &result)=0
Select the conditions matching the key.
virtual void clear()=0
Full cleanup of all managed conditions.
Conditions internal namespace declaration.
virtual void select(Condition::key_type key, RangeConditions &result)=0
Select the conditions matching the DetElement and the conditions name.
ConditionsManager m_manager
Handle to conditions manager object.
Class implementing the conditions collection for a given IOV type.
std::set< ConditionKey > ConditionKeys
virtual ~ConditionsPool()
Default destructor. Note: pool must be cleared by the subclass!
virtual Condition exists(Condition::key_type key) const =0
Check if a condition exists in the pool.
ConditionsManager::ConditionKeys ConditionKeys
Forward definition of the condition keys container.
Helper to insert objects into a conditions pool.
Pool of conditions satisfying one IOV type (epoch, run, fill, etc)
ConditionsIOVPool * m_iovPool
IOV Pool as data source.
UserPool(ConditionsManager mgr, ConditionsIOVPool *pool)
Default constructor.
virtual void clear()=0
Full cleanup of all managed conditions.
std::vector< Condition > RangeConditions
void onRemove(Condition condition)
Listener invocation when a condition is deregistered from the cache.
virtual size_t count() const =0
Total entry count.
virtual void select_used(RangeConditions &result)=0
Select the conditons, used also by the DetElement of the condition.
Condition::key_type key_type
Forward definition of the key type.
virtual size_t count() const =0
Total entry count.
virtual bool exists(key_type key) const =0
Check a condition for existence.
Helper to insert objects into a conditions pool.
const IOVType * iovType
IOV type of the conditions hosted by this pool.