2 #ifndef GAUDIKERNEL_IUPDATEMANAGERSVC_H
3 #define GAUDIKERNEL_IUPDATEMANAGERSVC_H 1
15 class ValidDataObject;
19 namespace Gaudi {
class Time; }
53 template <
class CallerClass>
97 return dynamic_cast<ValidDataObject*
>(
m_instance);
134 virtual bool isNull() = 0;
144 template<
class ActualType>
192 template <
class CallerClass>
193 inline void registerCondition(CallerClass *instance,
const std::string &condition =
"",
198 template <
class CallerClass,
class CondType>
199 inline void registerCondition(CallerClass *instance,
const std::string &condition,
201 CondType *&condPtrDest){
207 template <
class CallerClass>
208 inline void registerCondition(CallerClass *instance,
const char *condition,
216 template <
class CallerClass,
class ObjectClass>
217 inline void registerCondition(CallerClass *instance, ObjectClass *obj,
225 template <
class CallerClass>
227 i_unregister(dynamic_cast<void*>(instance));
232 template <
class CallerClass>
233 inline void invalidate(CallerClass *instance) {i_invalidate(dynamic_cast<void*>(instance));}
237 virtual bool getValidity(
const std::string path, Gaudi::Time& since, Gaudi::Time &until,
bool path_to_db =
false) = 0;
243 const Gaudi::Time& since,
const Gaudi::Time &until,
244 bool path_to_db =
false) = 0;
251 virtual StatusCode newEvent(
const Gaudi::Time &) = 0;
255 template <
class CallerClass>
257 return i_update(dynamic_cast<void*>(instance));
261 virtual void dump() = 0;
264 virtual void acquireLock() = 0;
266 virtual void releaseLock() = 0;
271 virtual void purge() = 0;
285 virtual StatusCode i_update(
void *instance) = 0;
286 virtual void i_unregister(
void *instance) = 0;
287 virtual void i_invalidate(
void *instance) = 0;
294 #endif // GAUDIKERNEL_IUPDATEMANAGERSVC_H