Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

TGo4DirProxy.h

Go to the documentation of this file.
00001 //-------------------------------------------------------------
00002 //        Go4 Release Package v3.04-01 (build 30401)
00003 //                      28-November-2008
00004 //---------------------------------------------------------------
00005 //   The GSI Online Offline Object Oriented (Go4) Project
00006 //   Experiment Data Processing at EE department, GSI
00007 //---------------------------------------------------------------
00008 //
00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI
00010 //                    Planckstr. 1, 64291 Darmstadt, Germany
00011 //Contact:            http://go4.gsi.de
00012 //----------------------------------------------------------------
00013 //This software can be used under the license agreements as stated
00014 //in Go4License.txt file which is part of the distribution.
00015 //----------------------------------------------------------------
00016 #ifndef TGO4DIRPROXY_H
00017 #define TGO4DIRPROXY_H
00018 
00019 #include "TGo4Proxy.h"
00020 
00021 class TFile;
00022 class TDirectory;
00023 
00024 class TGo4DirProxy : public TGo4Proxy {
00025    public:
00026       TGo4DirProxy();
00027       TGo4DirProxy(TDirectory* dir, Bool_t readright, Bool_t owner);
00028       virtual ~TGo4DirProxy();
00029 
00030       virtual Bool_t HasSublevels() const { return fDir!=0; }
00031 
00032       virtual TGo4LevelIter* MakeIter()
00033         { return (fDir==0) ? 0 : ProduceIter(fDir, fReadRight); }
00034 
00035       virtual TGo4Access* MakeProxy(const char* name)
00036         { return ProduceProxy(fDir, fReadRight, name); }
00037 
00038       virtual void WriteData(TGo4Slot* slot, TDirectory* dir, Bool_t onlyobjs);
00039       virtual void ReadData(TGo4Slot* slot, TDirectory* dir);
00040 
00041       virtual Int_t GetObjectKind();
00042       virtual const char* GetContainedClassName();
00043       virtual const char* GetContainedObjectInfo();
00044       virtual Int_t GetObjectSizeInfo();
00045 
00046       static TGo4Access* ProduceProxy(TDirectory* dir, Bool_t readright, const char* name);
00047       static TGo4LevelIter* ProduceIter(TDirectory* dir, Bool_t readright);
00048 
00049       Bool_t UpdateObjectInFile(const char* filepath, TObject* obj);
00050 
00051       Bool_t IsFile() const;
00052       const char* GetFileName() const;
00053 
00054    protected:
00055       void SetDir(TDirectory* dir, Bool_t readright, Bool_t owner);
00056       void ClearDir();
00057 
00058       TDirectory*  fDir;          
00059       Bool_t       fOwner;        
00060       Bool_t       fReadRight;    
00061 
00062    ClassDef(TGo4DirProxy, 1);
00063 };
00064 
00065 #endif
00066 
00067 //----------------------------END OF GO4 SOURCE FILE ---------------------

Generated on Fri Nov 28 12:59:26 2008 for Go4-v3.04-1 by  doxygen 1.4.2