00001 #ifndef DYBSVC_ARCHIVETRIMSVC_H 00002 #define DYBSVC_ARCHIVETRIMSVC_H 1 00003 00004 #include "DybKernel/IArchiveTrimSvc.h" 00005 00006 #include "GaudiKernel/Service.h" 00007 #include "GaudiKernel/IEvtSelector.h" 00008 00009 #include <string> 00010 00011 class TrimmingAgent; 00012 00013 class ArchiveTrimSvc : 00014 public Service, 00015 virtual public IArchiveTrimSvc { 00016 00017 public: 00019 ArchiveTrimSvc(const std::string& name, 00020 ISvcLocator* svc); 00021 00022 virtual StatusCode initialize(); 00023 virtual StatusCode finalize(); 00024 00026 virtual StatusCode trim(IDataManagerSvc* dataStore, 00027 TimeStamp latest); 00028 virtual const TimeStamp& window(const std::string& path); 00029 00031 virtual StatusCode queryInterface(const InterfaceID& id, 00032 void** interface ); 00033 00035 void updateWindow(Property& property); 00036 00037 private: 00038 00042 DoubleProperty m_defaultWindowSeconds; 00043 void _update(); 00044 00048 TrimmingAgent* m_agent; 00049 }; 00050 00051 #endif /* DYBSVC_ARCHIVETRIMSVC_H */