Gaudi Framework, version v21r8

Home   Generated: 17 Mar 2010

FastContainersSvc.h

Go to the documentation of this file.
00001 // $Id: FastContainersSvc.h,v 1.3 2006/12/04 17:15:14 mato Exp $
00002 #ifndef FASTCONTAINERSSVC_FASTCONTAINERSSVC_H
00003 #define FASTCONTAINERSSVC_FASTCONTAINERSSVC_H 1
00004 
00005 // Include files
00006 #include "GaudiKernel/DataSvc.h"
00007 #include "GaudiKernel/IIncidentListener.h"
00008 #include "GaudiKernel/IDataStoreAgent.h"
00009 #include "GaudiKernel/TransientFastContainer.h"
00010 #include "GaudiKernel/IRegistry.h"
00011 
00022 class FastContainersSvc : public extends1<DataSvc, IIncidentListener> {
00023 protected:
00025   FastContainersSvc(const std::string& name, ISvcLocator* svc);
00026 
00027   virtual ~FastContainersSvc(); 
00028 
00029 public:
00030   // Overloaded DataSvc methods
00031 
00033   virtual StatusCode initialize();
00034 
00036   virtual StatusCode reinitialize();
00037 
00039   virtual StatusCode finalize();
00040 
00042   virtual void resetStore();
00043 
00044 public:
00045 
00046   // Implementation of the IIncidentListener interface
00047 
00049   virtual void handle( const Incident& incident );
00050 
00051 private:
00052 
00053   friend class SvcFactory<FastContainersSvc>;
00054 
00056   std::string m_rootDirName;
00057 
00059   class StoreResetter: public IDataStoreAgent
00060   {
00061     virtual bool analyse(IRegistry *pRegistry, int /* level */) {
00062       TransientFastContainerBase* fc =
00063         dynamic_cast<TransientFastContainerBase*>(pRegistry->object());
00064       if ( 0 != fc ) fc->clear();
00065       return true;
00066     }
00067   } m_storeResetter;
00068 
00069 };
00070 #endif // FASTCONTAINERSSVC_FASTCONTAINERSSVC_H

Generated at Wed Mar 17 18:06:43 2010 for Gaudi Framework, version v21r8 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004