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 TGO4FOLDERPROXY_H 00017 #define TGO4FOLDERPROXY_H 00018 00019 #include "TGo4Proxy.h" 00020 00021 #include "TFolder.h" 00022 #include "TString.h" 00023 00024 class TGo4FolderProxy : public TGo4Proxy { 00025 public: 00026 TGo4FolderProxy(); 00027 TGo4FolderProxy(TFolder* f, Bool_t owner = kFALSE, const char* roofolder = ""); 00028 virtual ~TGo4FolderProxy(); 00029 00030 virtual Bool_t HasSublevels() const { return fFolder!=0; } 00031 00032 virtual TGo4LevelIter* MakeIter() 00033 { return (fFolder==0) ? 0 : ProduceIter(fFolder); } 00034 00035 virtual TGo4Access* MakeProxy(const char* name) 00036 { return ProduceProxy(fFolder, 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 00044 static TFolder* LocateROOTFolder(const char* rootfolder); 00045 static TGo4Access* ProduceProxy(TFolder* folder, const char* name); 00046 static TGo4LevelIter* ProduceIter(TFolder* folder); 00047 00048 protected: 00049 TFolder* fFolder; 00050 Bool_t fOwner; 00051 TString fRootFolderName; 00052 00053 ClassDef(TGo4FolderProxy, 1); 00054 }; 00055 00056 #endif 00057 00058 00059 //----------------------------END OF GO4 SOURCE FILE ---------------------