| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

TESSerializer.h

Go to the documentation of this file.
00001 // $Id: TESSerializer.h,v 1.1 2008/10/17 08:56:05 mato Exp $ 
00002 #ifndef GAUDIPYTHON_TESSERIALIZER_H
00003 #define GAUDIPYTHON_TESSERIALIZER_H
00004 
00005 #include "GaudiKernel/IDataStoreAgent.h"
00006 
00007 // vector and string
00008 #include <string>
00009 #include <vector>
00010 
00011 // forward declarations
00012 class IDataProviderSvc;
00013 class IDataManagerSvc;
00014 class TBufferFile;
00015 class DataStoreItem;
00016 class DataObject;
00017 
00018 namespace GaudiPython {
00019   class TESSerializer :  virtual public IDataStoreAgent {
00020     typedef std::vector<DataStoreItem*> Items;
00021     typedef std::vector<std::string>    ItemNames;
00022     typedef std::vector<DataObject*>    Objects;
00023   public: 
00024     TESSerializer(IDataProviderSvc* svc);
00025 
00026     TBufferFile* dumpBuffer();
00027     void loadBuffer(TBufferFile*);
00028 
00029     void addItem(const std::string& path, int level);
00030     void addOptItem(const std::string& path, int level);
00031 
00033     virtual bool analyse(IRegistry* dir, int level);
00034 
00035   protected:
00036     void addItem(Items& itms, const std::string& path, int level);
00037   private:
00039     IDataProviderSvc* m_TES;
00041     IDataManagerSvc*  m_TESMgr;
00043     ItemNames         m_itemNames;
00045     Items             m_itemList;
00047     ItemNames         m_optItemNames;
00049     Items             m_optItemList;
00051     DataStoreItem*    m_currentItem;
00053     Objects           m_objects;
00054   };
00055 }
00056 #endif
00057 
00058 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:58:56 2011 for GaudiPython by doxygen 1.4.7