| # Gaudi Framework, version v21r7p1 |

Home |  | Generated: 15 Feb 2010

# 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 GAUDI_API 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     void dumpBuffer(TBufferFile&);
    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